Package org.apache.calcite.rel.rules
Class ProjectToWindowRule
java.lang.Object
org.apache.calcite.plan.RelOptRule
org.apache.calcite.plan.RelRule<ProjectToWindowRule.Config>
org.apache.calcite.rel.rules.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 Project does not contain
any windowed agg functions, does nothing.
There is also a variant that matches
Calc rather than Project.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classInstance of the rule that applies to aCalcthat contains windowed aggregates and converts it into a mixture ofLogicalWindowandCalc.static interfaceRule configuration.static classInstance of the rule that can be applied to aProjectand that produces, in turn, a mixture ofLogicalProjectandLogicalWindow.Nested classes/interfaces inherited from class org.apache.calcite.plan.RelRule
RelRule.Done, RelRule.MatchHandler<R extends RelOptRule>, RelRule.OperandBuilder, RelRule.OperandDetailBuilder<R extends RelNode>, RelRule.OperandTransformNested classes/interfaces inherited from class org.apache.calcite.plan.RelOptRule
RelOptRule.ConverterRelOptRuleOperand -
Field Summary
Fields inherited from class org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreates a ProjectToWindowRule. -
Method Summary
Methods inherited from class org.apache.calcite.plan.RelOptRule
any, convert, convert, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, onMatch, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
-
Constructor Details
-
ProjectToWindowRule
Creates a ProjectToWindowRule.
-