Interface ReduceExpressionsRule.Config

All Superinterfaces:
RelRule.Config
All Known Subinterfaces:
ReduceExpressionsRule.CalcReduceExpressionsRule.CalcReduceExpressionsRuleConfig, ReduceExpressionsRule.FilterReduceExpressionsRule.FilterReduceExpressionsRuleConfig, ReduceExpressionsRule.JoinReduceExpressionsRule.JoinReduceExpressionsRuleConfig, ReduceExpressionsRule.ProjectReduceExpressionsRule.ProjectReduceExpressionsRuleConfig, ReduceExpressionsRule.WindowReduceExpressionsRule.WindowReduceExpressionsRuleConfig
Enclosing class:
ReduceExpressionsRule<C extends ReduceExpressionsRule.Config>

public static interface ReduceExpressionsRule.Config extends RelRule.Config
Rule configuration.
  • Method Details

    • toRule

      Description copied from interface: RelRule.Config
      Creates a rule that uses this configuration. Sub-class must override.
      Specified by:
      toRule in interface RelRule.Config
    • matchNullability

      @Default default boolean matchNullability()
      Whether to add a CAST when a nullable expression reduces to a NOT NULL literal.
    • withMatchNullability

      ReduceExpressionsRule.Config withMatchNullability(boolean matchNullability)
    • treatDynamicCallsAsConstant

      @Default default boolean treatDynamicCallsAsConstant()
      Whether to treat dynamic functions as constants.

      When false (the default), calls to dynamic functions (e.g. USER) are not reduced. When true, calls to dynamic functions are treated as a constant, and reduced.

    • withTreatDynamicCallsAsConstant

      ReduceExpressionsRule.Config withTreatDynamicCallsAsConstant(boolean treatDynamicCallsAsConstant)
    • withOperandFor

      default ReduceExpressionsRule.Config withOperandFor(Class<? extends RelNode> relClass)
      Defines an operand tree for the given classes.