Class ProjectToWindowRule

All Implemented Interfaces:
TransformationRule
Direct Known Subclasses:
ProjectToWindowRule.CalcToWindowRule, ProjectToWindowRule.ProjectToLogicalProjectAndWindowRule

public abstract class ProjectToWindowRule extends RelRule<ProjectToWindowRule.Config> implements TransformationRule
Planner rule that slices a Project into sections which contain windowed aggregate functions and sections which do not.

The sections which contain windowed agg functions become instances of LogicalWindow. If the LogicalCalc does not contain any windowed agg functions, does nothing.

There is also a variant that matches Calc rather than Project.

  • Constructor Details