Class OperandHandlers

java.lang.Object
org.apache.calcite.sql.type.OperandHandlers

public abstract class OperandHandlers extends Object
Strategies for handling operands.

This class defines singleton instances of strategy objects for operand expansion. OperandTypes, ReturnTypes and InferTypes provide similar strategies for operand type checking and inference, and operator return type inference.

See Also:
  • Field Details

    • DEFAULT

      public static final SqlOperandHandler DEFAULT
      The default operand handler visits all operands.
    • OPERAND_1_MIGHT_BE_TIME_FRAME

      public static final SqlOperandHandler OPERAND_1_MIGHT_BE_TIME_FRAME
      An operand handler that tries to convert operand #1 (0-based) into a time frame.

      For example, the DATE_TRUNC function uses this; the calls DATE_TRUNC('month', orders.order_date), DATE_TRUNC(orders.order_date, MONTH), DATE_TRUNC(orders.order_date, MINUTE15) are all valid. The last uses a user-defined time frame, which appears to the validator as a SqlIdentifier and is then converted to a SqlIntervalQualifier when it matches a defined time frame.

  • Constructor Details

    • OperandHandlers

      public OperandHandlers()
  • Method Details