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

    Fields
    Modifier and Type
    Field
    Description
    protected final boolean
     

    Fields inherited from class org.apache.calcite.sql.SqlOperator

    kind, MDX_PRECEDENCE, NL
  • Constructor Summary

    Constructors
    Constructor
    Description
    FlinkTimestampDynamicFunction(String functionName, org.apache.calcite.sql.type.SqlTypeName returnTypeName, boolean isBatchMode)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    equals(@Nullable Object obj)
     
    int
     
    boolean
     
    boolean
     

    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

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • 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:
      isDynamicFunction in class org.apache.calcite.sql.fun.SqlAbstractTimeFunction
    • isDeterministic

      public boolean isDeterministic()
      Overrides:
      isDeterministic in class org.apache.calcite.sql.SqlOperator
    • equals

      public boolean equals(@Nullable Object obj)
      Overrides:
      equals in class org.apache.calcite.sql.SqlOperator
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class org.apache.calcite.sql.SqlOperator