@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); }