&& (f2.getType().isNullable() || join.getJoinType().generatesNullsOnRight()); b.add(f).nullable(nullable);
public RelDataType apply(RelDataTypeFactory typeFactory) { final RelDataTypeFactory.Builder builder = typeFactory.builder(); for (Map.Entry<String, SqlTypeName> field : fields.entrySet()) { final String key = field.getKey(); builder.add(key, field.getValue()) // Druid's time column is always not null and the only column called __time. .nullable(!timestampColumn.equals(key)); } return builder.build(); } }
public RelDataType apply(RelDataTypeFactory typeFactory) { final RelDataTypeFactory.Builder builder = typeFactory.builder(); for (Map.Entry<String, SqlTypeName> field : fields.entrySet()) { final String key = field.getKey(); builder.add(key, field.getValue()) // Druid's time column is always not null and the only column called __time. .nullable(!timestampColumn.equals(key)); } return builder.build(); } }
builder.add(field); if (groupSets != null && !allContain(groupSets, groupKey)) { builder.nullable(true);
&& (f2.getType().isNullable() || join.getJoinType().generatesNullsOnRight()); b.add(f).nullable(nullable);
&& (f2.getType().isNullable() || join.getJoinType().generatesNullsOnRight()); b.add(f).nullable(nullable);
builder.add(field); if (groupSets != null && !allContain(groupSets, groupKey)) { builder.nullable(true);
.nullable(true) .build();
.nullable(true) .build();
sqlType(typeFactory, dataType, precision, scale, typeString); boolean nullable = resultSet.getInt(11) != DatabaseMetaData.columnNoNulls; fieldInfo.add(columnName, sqlType).nullable(nullable);
sqlType(typeFactory, dataType, precision, scale, typeString); boolean nullable = resultSet.getInt(11) != DatabaseMetaData.columnNoNulls; fieldInfo.add(columnName, sqlType).nullable(nullable);
.add("$unnest", SqlTypeName.ANY) .nullable(true) .build();
.add("$unnest", SqlTypeName.ANY) .nullable(true) .build();
@Override public FieldInfoBuilder nullable(boolean nullable) { return (FieldInfoBuilder) super.nullable(nullable); }
@Override public FieldInfoBuilder nullable(boolean nullable) { return (FieldInfoBuilder) super.nullable(nullable); }