Class BridgingSqlFunction
java.lang.Object
org.apache.calcite.sql.SqlOperator
org.apache.calcite.sql.SqlFunction
org.apache.flink.table.planner.functions.bridging.BridgingSqlFunction
- Direct Known Subclasses:
BridgingSqlFunction.WithTableFunction
@Internal
public class BridgingSqlFunction
extends org.apache.calcite.sql.SqlFunction
Bridges
FunctionDefinition to Calcite's representation of a scalar or table function
(either a system or user-defined function).-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classSpecial flavor ofBridgingSqlFunctionto indicate a table function to Calcite. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final org.apache.flink.table.types.inference.TypeInferenceFields inherited from class org.apache.calcite.sql.SqlOperator
kind, MDX_PRECEDENCE, NL -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.flink.table.catalog.DataTypeFactoryorg.apache.flink.table.functions.FunctionDefinitionorg.apache.flink.table.catalog.ContextResolvedFunctionFlinkTypeFactoryorg.apache.flink.table.types.inference.TypeInferencebooleanstatic BridgingSqlFunctionof(FlinkContext context, FlinkTypeFactory typeFactory, org.apache.flink.table.catalog.ContextResolvedFunction resolvedFunction) Creates an instance of a scalar or table function during translation.static BridgingSqlFunctionof(org.apache.calcite.plan.RelOptCluster cluster, org.apache.flink.table.catalog.ContextResolvedFunction resolvedFunction) Creates an instance of a scalar or table function during translation.static BridgingSqlFunctionof(org.apache.calcite.plan.RelOptCluster cluster, org.apache.flink.table.functions.BuiltInFunctionDefinition functionDefinition) Creates an instance of a scalar or table built-in function during translation.static BridgingSqlFunctionof(org.apache.flink.table.catalog.DataTypeFactory dataTypeFactory, FlinkTypeFactory typeFactory, RexFactory rexFactory, org.apache.calcite.sql.SqlKind kind, org.apache.flink.table.catalog.ContextResolvedFunction resolvedFunction, org.apache.flink.table.types.inference.TypeInference typeInference) Creates an instance of a scalar or table function (either a system or user-defined function).Methods inherited from class org.apache.calcite.sql.SqlFunction
deriveType, getFunctionType, getNameAsId, getParamNames, getParamTypes, getSqlIdentifier, getSyntax, isQuantifierAllowed, unparse, validateCall, validateQuantifierMethods inherited from class org.apache.calcite.sql.SqlOperator
acceptCall, acceptCall, adjustType, allowsFraming, argumentMustBeScalar, checkOperandCount, checkOperandTypes, constructArgNameList, constructArgTypeList, constructOperandList, createCall, createCall, createCall, createCall, createCall, createCall, createCall, deriveOperandType, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getMonotonicity, getName, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, getStrongPolicyInference, hashCode, inferReturnType, inferReturnType, isAggregator, isDynamicFunction, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, not, preValidateCall, requiresDecimalExpansion, requiresOrder, requiresOver, reverse, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateOperands, validRexOperands
-
Field Details
-
typeInference
protected final org.apache.flink.table.types.inference.TypeInference typeInference
-
-
Method Details
-
of
public static BridgingSqlFunction of(org.apache.flink.table.catalog.DataTypeFactory dataTypeFactory, FlinkTypeFactory typeFactory, RexFactory rexFactory, org.apache.calcite.sql.SqlKind kind, org.apache.flink.table.catalog.ContextResolvedFunction resolvedFunction, org.apache.flink.table.types.inference.TypeInference typeInference) Creates an instance of a scalar or table function (either a system or user-defined function).- Parameters:
dataTypeFactory- used for creatingDataTypetypeFactory- used for bridging toRelDataTyperexFactory- used forSpecializedFunction.ExpressionEvaluatorFactorykind- commonly used SQL standard function; useSqlKind.OTHER_FUNCTIONif this function cannot be mapped to a common function kind.resolvedFunction- system or user-definedFunctionDefinitionwith contexttypeInference- type inference logic
-
of
public static BridgingSqlFunction of(FlinkContext context, FlinkTypeFactory typeFactory, org.apache.flink.table.catalog.ContextResolvedFunction resolvedFunction) Creates an instance of a scalar or table function during translation. -
of
public static BridgingSqlFunction of(org.apache.calcite.plan.RelOptCluster cluster, org.apache.flink.table.catalog.ContextResolvedFunction resolvedFunction) Creates an instance of a scalar or table function during translation. -
of
public static BridgingSqlFunction of(org.apache.calcite.plan.RelOptCluster cluster, org.apache.flink.table.functions.BuiltInFunctionDefinition functionDefinition) Creates an instance of a scalar or table built-in function during translation. -
getDataTypeFactory
public org.apache.flink.table.catalog.DataTypeFactory getDataTypeFactory() -
getTypeFactory
public FlinkTypeFactory getTypeFactory() -
getRexFactory
-
getResolvedFunction
public org.apache.flink.table.catalog.ContextResolvedFunction getResolvedFunction() -
getDefinition
public org.apache.flink.table.functions.FunctionDefinition getDefinition() -
getTypeInference
public org.apache.flink.table.types.inference.TypeInference getTypeInference() -
isDeterministic
public boolean isDeterministic()- Overrides:
isDeterministicin classorg.apache.calcite.sql.SqlOperator
-