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'sSqlStdOperatorTable
) in Flink, the difference from the parentSqlAbstractTimeFunction
is this function class be aware of whether it is used in batch mode, if true it will act totally same as the parentSqlAbstractTimeFunction
, but will be a non-deterministic function if not in batch mode.
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
isBatchMode
-
Constructor Summary
Constructors Constructor Description FlinkTimestampDynamicFunction(String functionName, org.apache.calcite.sql.type.SqlTypeName returnTypeName, boolean isBatchMode)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(@Nullable Object obj)
int
hashCode()
boolean
isDeterministic()
boolean
isDynamicFunction()
-
Methods inherited from class org.apache.calcite.sql.fun.SqlAbstractTimeFunction
getMonotonicity, getSyntax, inferReturnType
-
Methods inherited from class org.apache.calcite.sql.SqlFunction
deriveType, getFunctionType, getNameAsId, getParamNames, getParamTypes, getSqlIdentifier, isQuantifierAllowed, unparse, validateCall, validateQuantifier
-
Methods 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
-
-
-
-
Constructor Detail
-
FlinkTimestampDynamicFunction
public FlinkTimestampDynamicFunction(String functionName, org.apache.calcite.sql.type.SqlTypeName returnTypeName, boolean isBatchMode)
-
-
Method Detail
-
isDynamicFunction
public boolean isDynamicFunction()
- Overrides:
isDynamicFunction
in classorg.apache.calcite.sql.fun.SqlAbstractTimeFunction
-
isDeterministic
public boolean isDeterministic()
- Overrides:
isDeterministic
in classorg.apache.calcite.sql.SqlOperator
-
equals
public boolean equals(@Nullable Object obj)
- Overrides:
equals
in classorg.apache.calcite.sql.SqlOperator
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classorg.apache.calcite.sql.SqlOperator
-
-