Class SetopOperandTypeChecker

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

public class SetopOperandTypeChecker extends Object implements SqlOperandTypeChecker
Parameter type-checking strategy for a set operator (UNION, INTERSECT, EXCEPT).

Both arguments must be records with the same number of fields, and the fields must be union-compatible.

  • Constructor Details

    • SetopOperandTypeChecker

      public SetopOperandTypeChecker()
  • 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