Class CalciteUtils


  • public class CalciteUtils
    extends java.lang.Object
    Utility methods for Calcite related operations.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  CalciteUtils.TimeWithLocalTzType
      A LogicalType corresponding to TIME_WITH_LOCAL_TIME_ZONE.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static org.apache.beam.sdk.schemas.Schema.FieldType BIG_INT  
      static org.apache.beam.sdk.schemas.Schema.FieldType BOOLEAN  
      static org.apache.beam.sdk.schemas.Schema.FieldType CHAR  
      static org.apache.beam.sdk.schemas.Schema.FieldType DATE  
      static org.apache.beam.sdk.schemas.Schema.FieldType DECIMAL  
      static org.apache.beam.sdk.schemas.Schema.FieldType DOUBLE  
      static org.apache.beam.sdk.schemas.Schema.FieldType FLOAT  
      static org.apache.beam.sdk.schemas.Schema.FieldType INTEGER  
      static org.apache.beam.sdk.schemas.Schema.FieldType NULLABLE_DATE  
      static org.apache.beam.sdk.schemas.Schema.FieldType NULLABLE_TIME  
      static org.apache.beam.sdk.schemas.Schema.FieldType NULLABLE_TIMESTAMP  
      static org.apache.beam.sdk.schemas.Schema.FieldType NULLABLE_TIMESTAMP_WITH_LOCAL_TZ  
      static org.apache.beam.sdk.schemas.Schema.FieldType SMALL_INT  
      static org.apache.beam.sdk.schemas.Schema.FieldType TIME  
      static org.apache.beam.sdk.schemas.Schema.FieldType TIME_WITH_LOCAL_TZ  
      static org.apache.beam.sdk.schemas.Schema.FieldType TIMESTAMP  
      static org.apache.beam.sdk.schemas.Schema.FieldType TIMESTAMP_WITH_LOCAL_TZ  
      static org.apache.beam.sdk.schemas.Schema.FieldType TINY_INT  
      static org.apache.beam.sdk.schemas.Schema.FieldType VARBINARY  
      static org.apache.beam.sdk.schemas.Schema.FieldType VARCHAR  
    • Constructor Summary

      Constructors 
      Constructor Description
      CalciteUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean isDateTimeType​(org.apache.beam.sdk.schemas.Schema.FieldType fieldType)
      Returns true if the type is any of the various date time types.
      static boolean isStringType​(org.apache.beam.sdk.schemas.Schema.FieldType fieldType)  
      static org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType sqlTypeWithAutoCast​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataTypeFactory typeFactory, java.lang.reflect.Type type)
      SQL-Java type mapping, with specified Beam rules:
      1.
      static org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType toCalciteRowType​(org.apache.beam.sdk.schemas.Schema schema, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataTypeFactory dataTypeFactory)
      Create an instance of RelDataType so it can be used to create a table.
      static org.apache.beam.sdk.schemas.Schema.Field toField​(java.lang.String name, org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType calciteType)  
      static org.apache.beam.sdk.schemas.Schema.Field toField​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataTypeField calciteField)  
      static org.apache.beam.sdk.schemas.Schema.FieldType toFieldType​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType calciteType)  
      static org.apache.beam.sdk.schemas.Schema.FieldType toFieldType​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.sql.SqlTypeNameSpec sqlTypeName)  
      static org.apache.beam.sdk.schemas.Schema.FieldType toFieldType​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.sql.type.SqlTypeName sqlTypeName)  
      static org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType toRelDataType​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataTypeFactory dataTypeFactory, org.apache.beam.sdk.schemas.Schema.FieldType fieldType)  
      static org.apache.beam.sdk.schemas.Schema toSchema​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType tableInfo)
      Generate Schema from RelDataType which is used to create table.
      static org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.sql.type.SqlTypeName toSqlTypeName​(org.apache.beam.sdk.schemas.Schema.FieldType type)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • TINY_INT

        public static final org.apache.beam.sdk.schemas.Schema.FieldType TINY_INT
      • SMALL_INT

        public static final org.apache.beam.sdk.schemas.Schema.FieldType SMALL_INT
      • INTEGER

        public static final org.apache.beam.sdk.schemas.Schema.FieldType INTEGER
      • BIG_INT

        public static final org.apache.beam.sdk.schemas.Schema.FieldType BIG_INT
      • FLOAT

        public static final org.apache.beam.sdk.schemas.Schema.FieldType FLOAT
      • DOUBLE

        public static final org.apache.beam.sdk.schemas.Schema.FieldType DOUBLE
      • DECIMAL

        public static final org.apache.beam.sdk.schemas.Schema.FieldType DECIMAL
      • BOOLEAN

        public static final org.apache.beam.sdk.schemas.Schema.FieldType BOOLEAN
      • VARBINARY

        public static final org.apache.beam.sdk.schemas.Schema.FieldType VARBINARY
      • VARCHAR

        public static final org.apache.beam.sdk.schemas.Schema.FieldType VARCHAR
      • CHAR

        public static final org.apache.beam.sdk.schemas.Schema.FieldType CHAR
      • DATE

        public static final org.apache.beam.sdk.schemas.Schema.FieldType DATE
      • NULLABLE_DATE

        public static final org.apache.beam.sdk.schemas.Schema.FieldType NULLABLE_DATE
      • TIME

        public static final org.apache.beam.sdk.schemas.Schema.FieldType TIME
      • NULLABLE_TIME

        public static final org.apache.beam.sdk.schemas.Schema.FieldType NULLABLE_TIME
      • TIME_WITH_LOCAL_TZ

        public static final org.apache.beam.sdk.schemas.Schema.FieldType TIME_WITH_LOCAL_TZ
      • TIMESTAMP

        public static final org.apache.beam.sdk.schemas.Schema.FieldType TIMESTAMP
      • NULLABLE_TIMESTAMP

        public static final org.apache.beam.sdk.schemas.Schema.FieldType NULLABLE_TIMESTAMP
      • TIMESTAMP_WITH_LOCAL_TZ

        public static final org.apache.beam.sdk.schemas.Schema.FieldType TIMESTAMP_WITH_LOCAL_TZ
      • NULLABLE_TIMESTAMP_WITH_LOCAL_TZ

        public static final org.apache.beam.sdk.schemas.Schema.FieldType NULLABLE_TIMESTAMP_WITH_LOCAL_TZ
    • Constructor Detail

      • CalciteUtils

        public CalciteUtils()
    • Method Detail

      • isDateTimeType

        public static boolean isDateTimeType​(org.apache.beam.sdk.schemas.Schema.FieldType fieldType)
        Returns true if the type is any of the various date time types.
      • isStringType

        public static boolean isStringType​(org.apache.beam.sdk.schemas.Schema.FieldType fieldType)
      • toSchema

        public static org.apache.beam.sdk.schemas.Schema toSchema​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType tableInfo)
        Generate Schema from RelDataType which is used to create table.
      • toSqlTypeName

        public static org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.sql.type.SqlTypeName toSqlTypeName​(org.apache.beam.sdk.schemas.Schema.FieldType type)
      • toFieldType

        public static org.apache.beam.sdk.schemas.Schema.FieldType toFieldType​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.sql.SqlTypeNameSpec sqlTypeName)
      • toFieldType

        public static org.apache.beam.sdk.schemas.Schema.FieldType toFieldType​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.sql.type.SqlTypeName sqlTypeName)
      • toField

        public static org.apache.beam.sdk.schemas.Schema.Field toField​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataTypeField calciteField)
      • toField

        public static org.apache.beam.sdk.schemas.Schema.Field toField​(java.lang.String name,
                                                                       org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType calciteType)
      • toFieldType

        public static org.apache.beam.sdk.schemas.Schema.FieldType toFieldType​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType calciteType)
      • toCalciteRowType

        public static org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType toCalciteRowType​(org.apache.beam.sdk.schemas.Schema schema,
                                                                                                                      org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataTypeFactory dataTypeFactory)
        Create an instance of RelDataType so it can be used to create a table.
      • toRelDataType

        public static org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType toRelDataType​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataTypeFactory dataTypeFactory,
                                                                                                                   org.apache.beam.sdk.schemas.Schema.FieldType fieldType)
      • sqlTypeWithAutoCast

        public static org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType sqlTypeWithAutoCast​(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataTypeFactory typeFactory,
                                                                                                                         java.lang.reflect.Type type)
        SQL-Java type mapping, with specified Beam rules:
        1. redirect AbstractInstant to Date so Calcite can recognize it.
        2. For a list, the component type is needed to create a Sql array type.
        3. For a Map, the component type is needed to create a Sql map type.
        Parameters:
        type -
        Returns:
        Calcite RelDataType