Class AggregateExtractProjectRule

All Implemented Interfaces:
TransformationRule

@Enclosing public class AggregateExtractProjectRule extends RelRule<AggregateExtractProjectRule.Config> implements TransformationRule
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.