Package org.apache.calcite.sql.type
Class SqlTypeTransforms
- java.lang.Object
-
- org.apache.calcite.sql.type.SqlTypeTransforms
-
public abstract class SqlTypeTransforms extends java.lang.Object
SqlTypeTransforms defines a number of reusable instances ofSqlTypeTransform
.NOTE: avoid anonymous inner classes here except for unique, non-generalizable strategies; anything else belongs in a reusable top-level class. If you find yourself copying and pasting an existing strategy's anonymous inner class, you're making a mistake.
-
-
Field Summary
Fields Modifier and Type Field Description static SqlTypeTransform
FORCE_NULLABLE
Parameter type-inference transform strategy where a derived type is transformed into the same type with nulls allowed.static SqlTypeTransform
LEAST_NULLABLE
Type-inference strategy whereby the result is NOT NULL if any of the arguments is NOT NULL; otherwise the type is unchanged.static SqlTypeTransform
ONLY_COLUMN
Parameter type-inference transform strategy where a derived type must be a struct type with precisely one field and the returned type is the type of that field.static SqlTypeTransform
TO_MULTISET
Parameter type-inference transform strategy that wraps a given type in a multiset.static SqlTypeTransform
TO_MULTISET_ELEMENT_TYPE
Parameter type-inference transform strategy where a derived type must be a multiset type and the returned type is the multiset's element type.static SqlTypeTransform
TO_NOT_NULLABLE
Parameter type-inference transform strategy where a derived type is transformed into the same type but not nullable.static SqlTypeTransform
TO_NULLABLE
Parameter type-inference transform strategy where a derived type is transformed into the same type but nullable if any of a calls operands is nullablestatic SqlTypeTransform
TO_NULLABLE_ALL
Parameter type-inference transform strategy where a derived type is transformed into the same type, but nullable if and only if all of a call's operands are nullable.static SqlTypeTransform
TO_VARYING
Type-inference strategy whereby the result type of a call is VARYING the type given.
-
Constructor Summary
Constructors Constructor Description SqlTypeTransforms()
-
-
-
Field Detail
-
TO_NULLABLE
public static final SqlTypeTransform TO_NULLABLE
Parameter type-inference transform strategy where a derived type is transformed into the same type but nullable if any of a calls operands is nullable
-
TO_NULLABLE_ALL
public static final SqlTypeTransform TO_NULLABLE_ALL
Parameter type-inference transform strategy where a derived type is transformed into the same type, but nullable if and only if all of a call's operands are nullable.
-
TO_NOT_NULLABLE
public static final SqlTypeTransform TO_NOT_NULLABLE
Parameter type-inference transform strategy where a derived type is transformed into the same type but not nullable.
-
FORCE_NULLABLE
public static final SqlTypeTransform FORCE_NULLABLE
Parameter type-inference transform strategy where a derived type is transformed into the same type with nulls allowed.
-
LEAST_NULLABLE
public static final SqlTypeTransform LEAST_NULLABLE
Type-inference strategy whereby the result is NOT NULL if any of the arguments is NOT NULL; otherwise the type is unchanged.
-
TO_VARYING
public static final SqlTypeTransform TO_VARYING
Type-inference strategy whereby the result type of a call is VARYING the type given. The length returned is the same as length of the first argument. Return type will have same nullability as input type nullability. First Arg must be of string type.
-
TO_MULTISET_ELEMENT_TYPE
public static final SqlTypeTransform TO_MULTISET_ELEMENT_TYPE
Parameter type-inference transform strategy where a derived type must be a multiset type and the returned type is the multiset's element type.- See Also:
MultisetSqlType.getComponentType()
-
TO_MULTISET
public static final SqlTypeTransform TO_MULTISET
Parameter type-inference transform strategy that wraps a given type in a multiset.
-
ONLY_COLUMN
public static final SqlTypeTransform ONLY_COLUMN
Parameter type-inference transform strategy where a derived type must be a struct type with precisely one field and the returned type is the type of that field.
-
-