Class CalciteUtils
- java.lang.Object
-
- org.apache.beam.sdk.extensions.sql.impl.utils.CalciteUtils
-
public class CalciteUtils extends java.lang.ObjectUtility methods for Calcite related operations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCalciteUtils.TimeWithLocalTzTypeA LogicalType corresponding to TIME_WITH_LOCAL_TIME_ZONE.
-
Field Summary
Fields Modifier and Type Field Description static org.apache.beam.sdk.schemas.Schema.FieldTypeBIG_INTstatic org.apache.beam.sdk.schemas.Schema.FieldTypeBOOLEANstatic org.apache.beam.sdk.schemas.Schema.FieldTypeCHARstatic org.apache.beam.sdk.schemas.Schema.FieldTypeDATEstatic org.apache.beam.sdk.schemas.Schema.FieldTypeDECIMALstatic org.apache.beam.sdk.schemas.Schema.FieldTypeDOUBLEstatic org.apache.beam.sdk.schemas.Schema.FieldTypeFLOATstatic org.apache.beam.sdk.schemas.Schema.FieldTypeINTEGERstatic org.apache.beam.sdk.schemas.Schema.FieldTypeNULLABLE_DATEstatic org.apache.beam.sdk.schemas.Schema.FieldTypeNULLABLE_TIMEstatic org.apache.beam.sdk.schemas.Schema.FieldTypeNULLABLE_TIMESTAMPstatic org.apache.beam.sdk.schemas.Schema.FieldTypeNULLABLE_TIMESTAMP_WITH_LOCAL_TZstatic org.apache.beam.sdk.schemas.Schema.FieldTypeSMALL_INTstatic org.apache.beam.sdk.schemas.Schema.FieldTypeTIMEstatic org.apache.beam.sdk.schemas.Schema.FieldTypeTIME_WITH_LOCAL_TZstatic org.apache.beam.sdk.schemas.Schema.FieldTypeTIMESTAMPstatic org.apache.beam.sdk.schemas.Schema.FieldTypeTIMESTAMP_WITH_LOCAL_TZstatic org.apache.beam.sdk.schemas.Schema.FieldTypeTINY_INTstatic org.apache.beam.sdk.schemas.Schema.FieldTypeVARBINARYstatic org.apache.beam.sdk.schemas.Schema.FieldTypeVARCHAR
-
Constructor Summary
Constructors Constructor Description CalciteUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanisDateTimeType(org.apache.beam.sdk.schemas.Schema.FieldType fieldType)Returns true if the type is any of the various date time types.static booleanisStringType(org.apache.beam.sdk.schemas.Schema.FieldType fieldType)static org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataTypesqlTypeWithAutoCast(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.RelDataTypetoCalciteRowType(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 ofRelDataTypeso it can be used to create a table.static org.apache.beam.sdk.schemas.Schema.FieldtoField(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.FieldtoField(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataTypeField calciteField)static org.apache.beam.sdk.schemas.Schema.FieldTypetoFieldType(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType calciteType)static org.apache.beam.sdk.schemas.Schema.FieldTypetoFieldType(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.sql.SqlTypeNameSpec sqlTypeName)static org.apache.beam.sdk.schemas.Schema.FieldTypetoFieldType(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.RelDataTypetoRelDataType(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.SchematoSchema(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelDataType tableInfo)GenerateSchemafromRelDataTypewhich is used to create table.static org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.sql.type.SqlTypeNametoSqlTypeName(org.apache.beam.sdk.schemas.Schema.FieldType type)
-
-
-
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
-
-
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)
GenerateSchemafromRelDataTypewhich 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 ofRelDataTypeso 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. redirectAbstractInstanttoDateso 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
-
-