Class BuiltInScalarFunction


  • @Internal
    public class BuiltInScalarFunction
    extends org.apache.calcite.sql.SqlFunction
    This is the case when the operator has a special parsing syntax or uses other Calcite-specific features that are not exposed via SqlFunction yet.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  BuiltInScalarFunction.Builder
      Builder for fluent definition of built-in functions.
    • Field Summary

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

        kind, MDX_PRECEDENCE, NL
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected BuiltInScalarFunction​(String name, org.apache.calcite.sql.SqlKind kind, org.apache.calcite.sql.type.SqlReturnTypeInference returnTypeInference, org.apache.calcite.sql.type.SqlOperandTypeInference operandTypeInference, org.apache.calcite.sql.type.SqlOperandTypeChecker operandTypeChecker, org.apache.calcite.sql.SqlFunctionCategory category)  
      protected BuiltInScalarFunction​(String name, org.apache.calcite.sql.SqlKind kind, org.apache.calcite.sql.type.SqlReturnTypeInference returnTypeInference, org.apache.calcite.sql.type.SqlOperandTypeInference operandTypeInference, org.apache.calcite.sql.type.SqlOperandTypeChecker operandTypeChecker, org.apache.calcite.sql.SqlFunctionCategory category, boolean isDeterministic, boolean isInternal, java.util.function.Function<org.apache.calcite.sql.SqlOperatorBinding,​org.apache.calcite.sql.validate.SqlMonotonicity> monotonicity)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.calcite.sql.validate.SqlMonotonicity getMonotonicity​(org.apache.calcite.sql.SqlOperatorBinding call)  
      boolean isDeterministic()  
      boolean isInternal()  
      static BuiltInScalarFunction.Builder newBuilder()
      Builder for configuring and creating instances of BuiltInScalarFunction.
      • Methods inherited from class org.apache.calcite.sql.SqlFunction

        deriveType, getFunctionType, getNameAsId, getParamNames, getParamTypes, getSqlIdentifier, getSyntax, 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, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, 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
    • Constructor Detail

      • BuiltInScalarFunction

        protected BuiltInScalarFunction​(String name,
                                        org.apache.calcite.sql.SqlKind kind,
                                        @Nullable
                                        org.apache.calcite.sql.type.SqlReturnTypeInference returnTypeInference,
                                        @Nullable
                                        org.apache.calcite.sql.type.SqlOperandTypeInference operandTypeInference,
                                        @Nullable
                                        org.apache.calcite.sql.type.SqlOperandTypeChecker operandTypeChecker,
                                        org.apache.calcite.sql.SqlFunctionCategory category,
                                        boolean isDeterministic,
                                        boolean isInternal,
                                        java.util.function.Function<org.apache.calcite.sql.SqlOperatorBinding,​org.apache.calcite.sql.validate.SqlMonotonicity> monotonicity)
      • BuiltInScalarFunction

        protected BuiltInScalarFunction​(String name,
                                        org.apache.calcite.sql.SqlKind kind,
                                        org.apache.calcite.sql.type.SqlReturnTypeInference returnTypeInference,
                                        org.apache.calcite.sql.type.SqlOperandTypeInference operandTypeInference,
                                        @Nullable
                                        org.apache.calcite.sql.type.SqlOperandTypeChecker operandTypeChecker,
                                        org.apache.calcite.sql.SqlFunctionCategory category)
    • Method Detail

      • isDeterministic

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

        public final boolean isInternal()
      • getMonotonicity

        public org.apache.calcite.sql.validate.SqlMonotonicity getMonotonicity​(org.apache.calcite.sql.SqlOperatorBinding call)
        Overrides:
        getMonotonicity in class org.apache.calcite.sql.SqlOperator