public abstract class ProjectToWindowRule extends RelOptRule
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.
| Modifier and Type | Class and Description |
|---|---|
static class |
ProjectToWindowRule.CalcToWindowRule
Instance of the rule that applies to a
Calc that contains
windowed aggregates and converts it into a mixture of
LogicalWindow and Calc. |
static class |
ProjectToWindowRule.ProjectToLogicalProjectAndWindowRule
Instance of the rule that can be applied to a
Project and that produces, in turn,
a mixture of LogicalProject
and LogicalWindow. |
(package private) static class |
ProjectToWindowRule.WindowedAggRelSplitter
Splitter that distinguishes between windowed aggregation expressions
(calls to
RexOver) and ordinary expressions. |
| Modifier and Type | Field and Description |
|---|---|
static ProjectToWindowRule |
INSTANCE |
private static com.google.common.base.Predicate<Calc> |
PREDICATE |
private static com.google.common.base.Predicate<Project> |
PREDICATE2 |
static ProjectToWindowRule |
PROJECT |
description, operands, relBuilderFactory| Constructor and Description |
|---|
ProjectToWindowRule(RelOptRuleOperand operand,
RelBuilderFactory relBuilderFactory,
String description)
Creates a ProjectToWindowRule.
|
any, convert, convert, convertList, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, onMatch, operand, operand, operand, operand, operand, some, toString, unorderedprivate static final com.google.common.base.Predicate<Calc> PREDICATE
private static final com.google.common.base.Predicate<Project> PREDICATE2
public static final ProjectToWindowRule INSTANCE
public static final ProjectToWindowRule PROJECT
public ProjectToWindowRule(RelOptRuleOperand operand, RelBuilderFactory relBuilderFactory, String description)
operand - Root operand, must not be nulldescription - Description, or null to guess descriptionrelBuilderFactory - Builder for relational expressionsCopyright © 2012–2018 The Apache Software Foundation. All rights reserved.