public final RelDataType createStructType( final List<? extends Map.Entry<String, RelDataType>> fieldList) { return canonize(StructKind.FULLY_QUALIFIED, new AbstractList<String>() { @Override public String get(int index) { return fieldList.get(index).getKey(); } @Override public int size() { return fieldList.size(); } }, new AbstractList<RelDataType>() { @Override public RelDataType get(int index) { return fieldList.get(index).getValue(); } @Override public int size() { return fieldList.size(); } }); }
public final RelDataType createStructType( final List<? extends Map.Entry<String, RelDataType>> fieldList) { return canonize(StructKind.FULLY_QUALIFIED, new AbstractList<String>() { @Override public String get(int index) { return fieldList.get(index).getKey(); } @Override public int size() { return fieldList.size(); } }, new AbstractList<RelDataType>() { @Override public RelDataType get(int index) { return fieldList.get(index).getValue(); } @Override public int size() { return fieldList.size(); } }); }
@SuppressWarnings("deprecation") public RelDataType createStructType( final RelDataTypeFactory.FieldInfo fieldInfo) { return canonize(StructKind.FULLY_QUALIFIED, new AbstractList<String>() { @Override public String get(int index) { return fieldInfo.getFieldName(index); } @Override public int size() { return fieldInfo.getFieldCount(); } }, new AbstractList<RelDataType>() { @Override public RelDataType get(int index) { return fieldInfo.getFieldType(index); } @Override public int size() { return fieldInfo.getFieldCount(); } }); }
@SuppressWarnings("deprecation") public RelDataType createStructType( final RelDataTypeFactory.FieldInfo fieldInfo) { return canonize(StructKind.FULLY_QUALIFIED, new AbstractList<String>() { @Override public String get(int index) { return fieldInfo.getFieldName(index); } @Override public int size() { return fieldInfo.getFieldCount(); } }, new AbstractList<RelDataType>() { @Override public RelDataType get(int index) { return fieldInfo.getFieldType(index); } @Override public int size() { return fieldInfo.getFieldCount(); } }); }
public RelDataType createStructType(StructKind kind, final List<RelDataType> typeList, final List<String> fieldNameList) { assert typeList.size() == fieldNameList.size(); return canonize(kind, fieldNameList, typeList); }
public RelDataType createStructType(StructKind kind, final List<RelDataType> typeList, final List<String> fieldNameList) { assert typeList.size() == fieldNameList.size(); return canonize(kind, fieldNameList, typeList); }
public RelDataType createJoinType(RelDataType... types) { assert types != null; assert types.length >= 1; final List<RelDataType> flattenedTypes = new ArrayList<>(); getTypeList(ImmutableList.copyOf(types), flattenedTypes); return canonize( new RelCrossType(flattenedTypes, getFieldList(flattenedTypes))); }
public RelDataType createJoinType(RelDataType... types) { assert types != null; assert types.length >= 1; final List<RelDataType> flattenedTypes = new ArrayList<>(); getTypeList(ImmutableList.copyOf(types), flattenedTypes); return canonize( new RelCrossType(flattenedTypes, getFieldList(flattenedTypes))); }
public RelDataType createJavaType(Class clazz) { final JavaType javaType = clazz == String.class ? new JavaType(clazz, true, getDefaultCharset(), SqlCollation.IMPLICIT) : new JavaType(clazz); return canonize(javaType); }
public RelDataType createJavaType(Class clazz) { final JavaType javaType = clazz == String.class ? new JavaType(clazz, true, getDefaultCharset(), SqlCollation.IMPLICIT) : new JavaType(clazz); return canonize(javaType); }
protected RelDataType canonize(RelDataType type) { type = super.canonize(type); if (!(type instanceof ObjectSqlType)) { return type; } ObjectSqlType objectType = (ObjectSqlType) type; if (!objectType.isNullable()) { objectType.setFamily(objectType); } else { objectType.setFamily( (RelDataTypeFamily) createTypeWithNullability( objectType, false)); } return type; }
public RelDataType createTypeWithNullability( final RelDataType type, final boolean nullable) { Objects.requireNonNull(type); RelDataType newType; if (type.isNullable() == nullable) { newType = type; } else if (type instanceof RelRecordType) { // REVIEW: angel 18-Aug-2005 dtbug 336 workaround // Changed to ignore nullable parameter if nullable is false since // copyRecordType implementation is doubtful if (nullable) { // Do a deep copy, setting all fields of the record type // to be nullable regardless of initial nullability newType = copyRecordType((RelRecordType) type, false, true); } else { // Keep same type as before, ignore nullable parameter // RelRecordType currently always returns a nullability of false newType = copyRecordType((RelRecordType) type, true, false); } } else { newType = copySimpleType(type, nullable); } return canonize(newType); }
public RelDataType createTypeWithNullability( final RelDataType type, final boolean nullable) { Objects.requireNonNull(type); RelDataType newType; if (type.isNullable() == nullable) { newType = type; } else if (type instanceof RelRecordType) { // REVIEW: angel 18-Aug-2005 dtbug 336 workaround // Changed to ignore nullable parameter if nullable is false since // copyRecordType implementation is doubtful if (nullable) { // Do a deep copy, setting all fields of the record type // to be nullable regardless of initial nullability newType = copyRecordType((RelRecordType) type, false, true); } else { // Keep same type as before, ignore nullable parameter // RelRecordType currently always returns a nullability of false newType = copyRecordType((RelRecordType) type, true, false); } } else { newType = copySimpleType(type, nullable); } return canonize(newType); }
protected RelDataType canonize(RelDataType type) { type = super.canonize(type); if (!(type instanceof ObjectSqlType)) { return type; } ObjectSqlType objectType = (ObjectSqlType) type; if (!objectType.isNullable()) { objectType.setFamily(objectType); } else { objectType.setFamily( (RelDataTypeFamily) createTypeWithNullability( objectType, false)); } return type; }