Class 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


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

      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