Class LogicalWindow
- All Implemented Interfaces:
Cloneable
,RelOptNode
,Hintable
,RelNode
Window
not targeted at any particular engine or calling convention.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.calcite.rel.core.Window
Window.Group, Window.RexWinAggCall
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
RelNode.Context
-
Field Summary
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
-
Constructor Summary
ConstructorDescriptionLogicalWindow
(RelOptCluster cluster, RelTraitSet traitSet, List<RelHint> hints, RelNode input, List<RexLiteral> constants, RelDataType rowType, List<Window.Group> groups) Creates a LogicalWindow.LogicalWindow
(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, List<RexLiteral> constants, RelDataType rowType, List<Window.Group> groups) Creates a LogicalWindow. -
Method Summary
Modifier and TypeMethodDescriptioncopy
(List<RexLiteral> constants) Creates a copy of thisWindow
.copy
(RelTraitSet traitSet, List<RelNode> inputs) Creates a copy of this relational expression, perhaps changing traits and inputs.static RelNode
create
(RelOptCluster cluster, RelTraitSet traitSet, RelBuilder relBuilder, RelNode child, RexProgram program) Creates a LogicalWindow by parsing aRexProgram
.static LogicalWindow
create
(RelTraitSet traitSet, RelNode input, List<RexLiteral> constants, RelDataType rowType, List<Window.Group> groups) Creates a LogicalWindow.Returns a new relational expression with the specified hintshintList
.Methods inherited from class org.apache.calcite.rel.core.Window
computeSelfCost, explainTerms, getCollation, getConstants, getHints, getProjectOrdinals, isValid
Methods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, deriveRowType, estimateRowCount, getInput, getInputs, replaceInput
Methods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, accept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, metadata, onRegister, recomputeDigest, register, sole, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.calcite.rel.hint.Hintable
attachHints
Methods inherited from interface org.apache.calcite.rel.RelNode
explain, fieldIsNullable, stripped
-
Constructor Details
-
LogicalWindow
public LogicalWindow(RelOptCluster cluster, RelTraitSet traitSet, List<RelHint> hints, RelNode input, List<RexLiteral> constants, RelDataType rowType, List<Window.Group> groups) Creates a LogicalWindow.Use
create(org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode, java.util.List<org.apache.calcite.rex.RexLiteral>, org.apache.calcite.rel.type.RelDataType, java.util.List<org.apache.calcite.rel.core.Window.Group>)
unless you know what you're doing.- Parameters:
cluster
- ClustertraitSet
- Trait sethints
- Hints for this nodeinput
- Input relational expressionconstants
- List of constants that are additional inputsrowType
- Output row typegroups
- Window groups
-
LogicalWindow
public LogicalWindow(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, List<RexLiteral> constants, RelDataType rowType, List<Window.Group> groups) Creates a LogicalWindow.Use
create(org.apache.calcite.plan.RelTraitSet, org.apache.calcite.rel.RelNode, java.util.List<org.apache.calcite.rex.RexLiteral>, org.apache.calcite.rel.type.RelDataType, java.util.List<org.apache.calcite.rel.core.Window.Group>)
unless you know what you're doing.- Parameters:
cluster
- ClustertraitSet
- Trait setinput
- Input relational expressionconstants
- List of constants that are additional inputsrowType
- Output row typegroups
- Window groups
-
-
Method Details
-
copy
Description copied from interface:RelNode
Creates a copy of this relational expression, perhaps changing traits and inputs.Sub-classes with other important attributes are encouraged to create variants of this method with more parameters.
- Specified by:
copy
in interfaceRelNode
- Overrides:
copy
in classAbstractRelNode
- Parameters:
traitSet
- Trait setinputs
- Inputs- Returns:
- Copy of this relational expression, substituting traits and inputs
-
copy
Description copied from class:Window
Creates a copy of thisWindow
. -
create
public static LogicalWindow create(RelTraitSet traitSet, RelNode input, List<RexLiteral> constants, RelDataType rowType, List<Window.Group> groups) Creates a LogicalWindow.- Parameters:
traitSet
- Trait setinput
- Input relational expressionconstants
- List of constants that are additional inputsrowType
- Output row typegroups
- Window groups
-
create
public static RelNode create(RelOptCluster cluster, RelTraitSet traitSet, RelBuilder relBuilder, RelNode child, RexProgram program) Creates a LogicalWindow by parsing aRexProgram
. -
withHints
Description copied from interface:Hintable
Returns a new relational expression with the specified hintshintList
.This method should be overridden by every logical node that supports hint. It is only for internal use during decorrelation.
Sub-class should return a new copy of the relational expression.
The default implementation returns the relational expression directly only because not every kind of relational expression supports hints.
- Returns:
- Relational expression with set up hints
-