Class AggregateExtractProjectRule

  • Direct Known Subclasses:
    DruidRules.DruidAggregateExtractProjectRule

    public class AggregateExtractProjectRule
    extends RelOptRule
    Rule to extract a Project from an Aggregate and push it down towards the input.

    What projections can be safely pushed down depends upon which fields the Aggregate uses.

    To prevent cycles, this rule will not extract a Project if the Aggregates input is already a Project.