Class AggregateProjectMergeRule

All Implemented Interfaces:
TransformationRule

@Enclosing public class AggregateProjectMergeRule extends RelRule<AggregateProjectMergeRule.Config> implements TransformationRule
Planner rule that recognizes a Aggregate on top of a Project and if possible aggregate through the project or removes the project.

This is only possible when the grouping expressions and arguments to the aggregate functions are field references (i.e. not expressions).

In some cases, this rule has the effect of trimming: the aggregate will use fewer columns than the project did.

See Also: