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 LogicalCalc
does not contain
any windowed agg functions, does nothing.
There is also a variant that matches
Calc
rather than Project
.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Instance of the rule that applies to aCalc
that contains windowed aggregates and converts it into a mixture ofLogicalWindow
andCalc
.static interface
Rule configuration.static class
Instance of the rule that can be applied to aProject
and that produces, in turn, a mixture ofLogicalProject
andLogicalWindow
.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.OperandTransform
Nested 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
ModifierConstructorDescriptionprotected
Creates 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.
-