Interface AggregateExpandWithinDistinctRule.Config

All Superinterfaces:
RelRule.Config
Enclosing class:
AggregateExpandWithinDistinctRule

@Immutable public static interface AggregateExpandWithinDistinctRule.Config extends RelRule.Config
Rule configuration.
  • Field Details

  • 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
    • throwIfNotUnique

      @Default default boolean throwIfNotUnique()
      Whether the code generated by the rule should throw if the arguments are not functionally dependent.

      For example, if implementing SUM(sal) WITHIN DISTINCT job) ... GROUP BY deptno, suppose that within department 10, (job, sal) has the values ('CLERK', 100), ('CLERK', 120), ('MANAGER', 150), ('MANAGER', 150). If throwIfNotUnique is true, the query would throw because of the values [100, 120]; if false, the query would sum the distinct values [100, 120, 150].

    • withThrowIfNotUnique

      AggregateExpandWithinDistinctRule.Config withThrowIfNotUnique(boolean throwIfNotUnique)