public RelDataType copyType(RelDataType type) { if (type instanceof RelRecordType) { return copyRecordType((RelRecordType) type, true, false); } else { return createTypeWithNullability( type, type.isNullable()); } }
public RelDataType copyType(RelDataType type) { if (type instanceof RelRecordType) { return copyRecordType((RelRecordType) type, true, false); } else { return createTypeWithNullability( type, type.isNullable()); } }
@Override public RelDataType get(int index) { RelDataType fieldType = type.getFieldList().get(index).getType(); if (ignoreNullable) { return copyType(fieldType); } else { return createTypeWithNullability(fieldType, nullable); } }
@Override public RelDataType get(int index) { RelDataType fieldType = type.getFieldList().get(index).getType(); if (ignoreNullable) { return copyType(fieldType); } else { return createTypeWithNullability(fieldType, nullable); } }
@Override public RelDataType createTypeWithNullability( final RelDataType type, final boolean nullable) { final RelDataType newType; if (type instanceof BasicSqlType) { newType = ((BasicSqlType) type).createWithNullability(nullable); } else if (type instanceof MapSqlType) { newType = copyMapType(type, nullable); } else if (type instanceof ArraySqlType) { newType = copyArrayType(type, nullable); } else if (type instanceof MultisetSqlType) { newType = copyMultisetType(type, nullable); } else if (type instanceof IntervalSqlType) { newType = copyIntervalType(type, nullable); } else if (type instanceof ObjectSqlType) { newType = copyObjectType(type, nullable); } else { return super.createTypeWithNullability(type, nullable); } return canonize(newType); }
@Override public RelDataType createTypeWithNullability( final RelDataType type, final boolean nullable) { RelDataType newType; if (type instanceof BasicSqlType) { BasicSqlType sqlType = (BasicSqlType) type; newType = sqlType.createWithNullability(nullable); } else if (type instanceof MapSqlType) { newType = copyMapType(type, nullable); } else if (type instanceof ArraySqlType) { newType = copyArrayType(type, nullable); } else if (type instanceof MultisetSqlType) { newType = copyMultisetType(type, nullable); } else if (type instanceof IntervalSqlType) { newType = copyIntervalType(type, nullable); } else if (type instanceof ObjectSqlType) { newType = copyObjectType(type, nullable); } else { return super.createTypeWithNullability(type, nullable); } return canonize(newType); }
SqlParserPos.ZERO)); intervalType = typeFactory.createTypeWithNullability( intervalType, nullable);
SqlParserPos.ZERO)); intervalType = typeFactory.createTypeWithNullability( intervalType, nullable);