Class FlinkTimestampDynamicFunction
java.lang.Object
org.apache.calcite.sql.SqlOperator
org.apache.calcite.sql.SqlFunction
org.apache.calcite.sql.fun.SqlAbstractTimeFunction
org.apache.flink.table.planner.functions.sql.FlinkTimestampDynamicFunction
- Direct Known Subclasses:
FlinkTimestampWithPrecisionDynamicFunction
@Internal
public class FlinkTimestampDynamicFunction
extends org.apache.calcite.sql.fun.SqlAbstractTimeFunction
Function that used to define SQL time functions like LOCALTIME, CURRENT_TIME(these are all
dynamic functions in Calcite's
SqlStdOperatorTable) in Flink, the difference from the
parent SqlAbstractTimeFunction is this function class be aware of whether it is used in
batch mode, if true it will act totally same as the parent SqlAbstractTimeFunction, but
will be a non-deterministic function if not in batch mode.-
Field Summary
FieldsFields inherited from class org.apache.calcite.sql.SqlOperator
kind, MDX_PRECEDENCE, NL -
Constructor Summary
ConstructorsConstructorDescriptionFlinkTimestampDynamicFunction(String functionName, org.apache.calcite.sql.type.SqlTypeName returnTypeName, boolean isBatchMode) -
Method Summary
Methods inherited from class org.apache.calcite.sql.fun.SqlAbstractTimeFunction
getMonotonicity, getSyntax, inferReturnTypeMethods inherited from class org.apache.calcite.sql.SqlFunction
deriveType, getFunctionType, getNameAsId, getParamNames, getParamTypes, getSqlIdentifier, 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, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getName, getOperandCountRange, getOperandTypeChecker, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, getStrongPolicyInference, inferReturnType, isAggregator, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, not, preValidateCall, requiresDecimalExpansion, requiresOrder, requiresOver, reverse, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateOperands, validRexOperands
-
Field Details
-
isBatchMode
protected final boolean isBatchMode
-
-
Constructor Details
-
FlinkTimestampDynamicFunction
public FlinkTimestampDynamicFunction(String functionName, org.apache.calcite.sql.type.SqlTypeName returnTypeName, boolean isBatchMode)
-
-
Method Details
-
isDynamicFunction
public boolean isDynamicFunction()- Overrides:
isDynamicFunctionin classorg.apache.calcite.sql.fun.SqlAbstractTimeFunction
-
isDeterministic
public boolean isDeterministic()- Overrides:
isDeterministicin classorg.apache.calcite.sql.SqlOperator
-
equals
- Overrides:
equalsin classorg.apache.calcite.sql.SqlOperator
-
hashCode
public int hashCode()- Overrides:
hashCodein classorg.apache.calcite.sql.SqlOperator
-