Class EnumerableProject
java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.SingleRel
org.apache.calcite.rel.core.Project
org.apache.calcite.adapter.enumerable.EnumerableProject
- All Implemented Interfaces:
Cloneable
,EnumerableRel
,RelOptNode
,Hintable
,PhysicalNode
,RelNode
Implementation of
Project
in
enumerable calling convention
.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.calcite.rel.core.Project
Project.Flags
Nested classes/interfaces inherited from interface org.apache.calcite.adapter.enumerable.EnumerableRel
EnumerableRel.Prefer, EnumerableRel.Result
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
RelNode.Context
-
Field Summary
Fields inherited from class org.apache.calcite.rel.core.Project
exps, hints, variablesSet
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
-
Constructor Summary
ConstructorDescriptionEnumerableProject
(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, List<? extends RexNode> projects, RelDataType rowType) Creates an EnumerableProject.EnumerableProject
(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, List<? extends RexNode> projects, RelDataType rowType, int flags) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptioncopy
(RelTraitSet traitSet, RelNode input, List<RexNode> projects, RelDataType rowType) Copies a project.static EnumerableProject
create
(RelNode input, List<? extends RexNode> projects, RelDataType rowType) Creates an EnumerableProject, specifying row type rather than field names.@Nullable Pair<RelTraitSet,
List<RelTraitSet>> deriveTraits
(RelTraitSet childTraits, int childId) Derive traitset from child node, returns a pair of traits after traits derivation.implement
(EnumerableRelImplementor implementor, EnumerableRel.Prefer pref) Creates a plan for this expression according to a calling convention.@Nullable Pair<RelTraitSet,
List<RelTraitSet>> passThroughTraits
(RelTraitSet required) Pass required traitset from parent node to child nodes, returns a pair of traits after traits is passed down.Methods inherited from class org.apache.calcite.rel.core.Project
accept, computeSelfCost, containsOver, copy, copy, deepEquals0, deepHashCode0, explainTerms, getAliasedProjects, getFlags, getHints, getMapping, getMapping, getNamedProjects, getPartialMapping, getPermutation, getPermutation, getProjects, getVariablesSet, isBoxed, isMapping, 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, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, 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.adapter.enumerable.EnumerableRel
getDeriveMode
Methods inherited from interface org.apache.calcite.rel.hint.Hintable
attachHints, withHints
Methods inherited from interface org.apache.calcite.rel.PhysicalNode
derive, derive, passThrough
Methods inherited from interface org.apache.calcite.rel.RelNode
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, copy, deepEquals, deepHashCode, estimateRowCount, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, stripped
Methods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getId, getTraitSet
-
Constructor Details
-
EnumerableProject
public EnumerableProject(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, List<? extends RexNode> projects, RelDataType rowType) Creates an EnumerableProject.Use
create(org.apache.calcite.rel.RelNode, java.util.List<? extends org.apache.calcite.rex.RexNode>, org.apache.calcite.rel.type.RelDataType)
unless you know what you're doing.- Parameters:
cluster
- Cluster this relational expression belongs totraitSet
- Traits of this relational expressioninput
- Input relational expressionprojects
- List of expressions for the input columnsrowType
- Output row type
-
EnumerableProject
@Deprecated public EnumerableProject(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, List<? extends RexNode> projects, RelDataType rowType, int flags) Deprecated.
-
-
Method Details
-
create
public static EnumerableProject create(RelNode input, List<? extends RexNode> projects, RelDataType rowType) Creates an EnumerableProject, specifying row type rather than field names. -
copy
public EnumerableProject copy(RelTraitSet traitSet, RelNode input, List<RexNode> projects, RelDataType rowType) Description copied from class:Project
Copies a project. -
implement
public EnumerableRel.Result implement(EnumerableRelImplementor implementor, EnumerableRel.Prefer pref) Description copied from interface:EnumerableRel
Creates a plan for this expression according to a calling convention.- Specified by:
implement
in interfaceEnumerableRel
- Parameters:
implementor
- Implementorpref
- Preferred representation for rows in result expression- Returns:
- Plan for this expression according to a calling convention
-
passThroughTraits
Description copied from interface:PhysicalNode
Pass required traitset from parent node to child nodes, returns a pair of traits after traits is passed down.Pair.left: the new traitset; Pair.right: the list of required traitsets for child nodes.
- Specified by:
passThroughTraits
in interfaceEnumerableRel
- Specified by:
passThroughTraits
in interfacePhysicalNode
-
deriveTraits
public @Nullable Pair<RelTraitSet,List<RelTraitSet>> deriveTraits(RelTraitSet childTraits, int childId) Description copied from interface:PhysicalNode
Derive traitset from child node, returns a pair of traits after traits derivation.Pair.left: the new traitset; Pair.right: the list of required traitsets for child nodes.
- Specified by:
deriveTraits
in interfaceEnumerableRel
- Specified by:
deriveTraits
in interfacePhysicalNode
-