Class 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 boolean isBatchMode  
      • 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

      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
    • Field Detail

      • isBatchMode

        protected final boolean isBatchMode
    • 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 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