Class ExplicitOperandTypeChecker

java.lang.Object
org.apache.calcite.sql.type.ExplicitOperandTypeChecker
All Implemented Interfaces:
SqlOperandTypeChecker

public class ExplicitOperandTypeChecker extends Object implements SqlOperandTypeChecker
Parameter type-checking strategy for Explicit Type.
  • Constructor Details

    • ExplicitOperandTypeChecker

      public ExplicitOperandTypeChecker(RelDataType type)
  • Method Details

    • checkOperandTypes

      public boolean checkOperandTypes(SqlCallBinding callBinding, boolean throwOnFailure)
      Description copied from interface: SqlOperandTypeChecker
      Checks the types of all operands to an operator call.
      Specified by:
      checkOperandTypes in interface SqlOperandTypeChecker
      Parameters:
      callBinding - description of the call to be checked
      throwOnFailure - whether to throw an exception if check fails (otherwise returns false in that case)
      Returns:
      whether check succeeded
    • getOperandCountRange

      public SqlOperandCountRange getOperandCountRange()
      Description copied from interface: SqlOperandTypeChecker
      Returns the range of operand counts allowed in a call.
      Specified by:
      getOperandCountRange in interface SqlOperandTypeChecker
    • getAllowedSignatures

      public String getAllowedSignatures(SqlOperator op, String opName)
      Description copied from interface: SqlOperandTypeChecker
      Returns a string describing the allowed formal signatures of a call, e.g. "SUBSTR(VARCHAR, INTEGER, INTEGER)".
      Specified by:
      getAllowedSignatures in interface SqlOperandTypeChecker
      Parameters:
      op - the operator being checked
      opName - name to use for the operator in case of aliasing
      Returns:
      generated string