Class StructuredRelDataType

java.lang.Object
org.apache.calcite.rel.type.RelDataTypeImpl
org.apache.calcite.sql.type.AbstractSqlType
org.apache.calcite.sql.type.ObjectSqlType
org.apache.flink.table.planner.plan.schema.StructuredRelDataType
All Implemented Interfaces:
Serializable, Cloneable, org.apache.calcite.rel.type.RelDataType, org.apache.calcite.rel.type.RelDataTypeFamily

@Internal public final class StructuredRelDataType extends org.apache.calcite.sql.type.ObjectSqlType
The RelDataType representation of a StructuredType.

It extends ObjectSqlType for preserving the original logical type (including an optional implementation class) and supporting anonymous/unregistered structured types from Table API.

See Also:
  • Field Summary

    Fields inherited from class org.apache.calcite.sql.type.AbstractSqlType

    isNullable, typeName

    Fields inherited from class org.apache.calcite.rel.type.RelDataTypeImpl

    digest, fieldList, NON_NULLABLE_SUFFIX

    Fields inherited from interface org.apache.calcite.rel.type.RelDataType

    PRECISION_NOT_SPECIFIED, SCALE_NOT_SPECIFIED
  • Constructor Summary

    Constructors
    Constructor
    Description
    StructuredRelDataType(org.apache.flink.table.types.logical.StructuredType structuredType, List<org.apache.calcite.rel.type.RelDataTypeField> fields)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    create(FlinkTypeFactory factory, org.apache.flink.table.types.logical.StructuredType structuredType)
     
    createWithNullability(boolean nullable)
     
    protected void
    generateTypeString(StringBuilder sb, boolean withDetail)
     
    org.apache.calcite.rel.type.RelDataTypeFamily
     
    org.apache.calcite.rel.type.StructKind
     
    org.apache.flink.table.types.logical.StructuredType
     

    Methods inherited from class org.apache.calcite.sql.type.ObjectSqlType

    getComparability, getSqlIdentifier, setFamily

    Methods inherited from class org.apache.calcite.sql.type.AbstractSqlType

    getPrecedenceList, getSqlTypeName, isNullable

    Methods inherited from class org.apache.calcite.rel.type.RelDataTypeImpl

    equals, extra, getCharset, getCollation, getComponentType, getField, getFieldCount, getFieldList, getFieldMap, getFieldNames, getFullTypeString, getIntervalQualifier, getKeyType, getPrecision, getScale, getValueType, hashCode, isDynamicStruct, isStruct, proto, proto, proto, proto, toString

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.calcite.rel.type.RelDataType

    equalsSansFieldNames
  • Constructor Details

    • StructuredRelDataType

      public StructuredRelDataType(org.apache.flink.table.types.logical.StructuredType structuredType, List<org.apache.calcite.rel.type.RelDataTypeField> fields)
  • Method Details

    • create

      public static StructuredRelDataType create(FlinkTypeFactory factory, org.apache.flink.table.types.logical.StructuredType structuredType)
    • getStructuredType

      public org.apache.flink.table.types.logical.StructuredType getStructuredType()
    • createWithNullability

      public StructuredRelDataType createWithNullability(boolean nullable)
    • getStructKind

      public org.apache.calcite.rel.type.StructKind getStructKind()
      Specified by:
      getStructKind in interface org.apache.calcite.rel.type.RelDataType
      Overrides:
      getStructKind in class org.apache.calcite.rel.type.RelDataTypeImpl
    • getFamily

      public org.apache.calcite.rel.type.RelDataTypeFamily getFamily()
      Specified by:
      getFamily in interface org.apache.calcite.rel.type.RelDataType
      Overrides:
      getFamily in class org.apache.calcite.sql.type.ObjectSqlType
    • generateTypeString

      protected void generateTypeString(StringBuilder sb, boolean withDetail)
      Overrides:
      generateTypeString in class org.apache.calcite.sql.type.ObjectSqlType
    • computeDigest

      protected void computeDigest()
      Overrides:
      computeDigest in class org.apache.calcite.rel.type.RelDataTypeImpl