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.RexWinAggCallNested 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
ConstructorsConstructorDescriptionLogicalWindow(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 RelNodecreate(RelOptCluster cluster, RelTraitSet traitSet, RelBuilder relBuilder, RelNode child, RexProgram program) Creates a LogicalWindow by parsing aRexProgram.static LogicalWindowcreate(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, isValidMethods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, deriveRowType, estimateRowCount, getInput, getInputs, replaceInputMethods 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, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.calcite.rel.hint.Hintable
attachHintsMethods 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:RelNodeCreates 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:
copyin interfaceRelNode- Overrides:
copyin classAbstractRelNode- Parameters:
traitSet- Trait setinputs- Inputs- Returns:
- Copy of this relational expression, substituting traits and inputs
-
copy
Description copied from class:WindowCreates 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:HintableReturns 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
-