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:
java.lang.Cloneable
,EnumerableRel
,RelOptNode
,RelNode
public class EnumerableProject extends Project implements EnumerableRel
Implementation ofProject
inenumerable 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.AbstractRelNode
digest, id, rowType, traitSet
-
Fields inherited from interface org.apache.calcite.adapter.enumerable.EnumerableRel
FILTER_FACTORY, PROJECT_FACTORY
-
-
Constructor Summary
Constructors Constructor Description EnumerableProject(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, java.util.List<? extends RexNode> projects, RelDataType rowType)
Creates an EnumerableProject.EnumerableProject(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, java.util.List<? extends RexNode> projects, RelDataType rowType, int flags)
Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description EnumerableProject
copy(RelTraitSet traitSet, RelNode input, java.util.List<RexNode> projects, RelDataType rowType)
Copies a project.(package private) static RelNode
create(RelNode child, java.util.List<? extends RexNode> projects, java.util.List<java.lang.String> fieldNames)
static EnumerableProject
create(RelNode input, java.util.List<? extends RexNode> projects, RelDataType rowType)
Creates an EnumerableProject, specifying row type rather than field names.EnumerableRel.Result
implement(EnumerableRelImplementor implementor, EnumerableRel.Prefer pref)
Creates a plan for this expression according to a calling convention.-
Methods inherited from class org.apache.calcite.rel.core.Project
accept, computeSelfCost, copy, copy, explainTerms, getChildExps, getFlags, getMapping, getMapping, getNamedProjects, getPartialMapping, getPermutation, getPermutation, getProjects, 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, computeDigest, computeSelfCost, explain, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, metadata, onRegister, recomputeDigest, register, sole, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.calcite.rel.RelNode
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, computeSelfCost, copy, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInput
-
Methods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getDigest, getId, getTraitSet
-
-
-
-
Constructor Detail
-
EnumerableProject
public EnumerableProject(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, java.util.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, java.util.List<? extends RexNode> projects, RelDataType rowType, int flags)
Deprecated.
-
-
Method Detail
-
create
public static EnumerableProject create(RelNode input, java.util.List<? extends RexNode> projects, RelDataType rowType)
Creates an EnumerableProject, specifying row type rather than field names.
-
create
static RelNode create(RelNode child, java.util.List<? extends RexNode> projects, java.util.List<java.lang.String> fieldNames)
-
copy
public EnumerableProject copy(RelTraitSet traitSet, RelNode input, java.util.List<RexNode> projects, RelDataType rowType)
Description copied from class:Project
Copies a project.- Specified by:
copy
in classProject
- Parameters:
traitSet
- Traitsinput
- Inputprojects
- Project expressionsrowType
- Output row type- Returns:
- New
Project
if any parameter differs from the value of thisProject
, or justthis
if all the parameters are the same - See Also:
Project.copy(RelTraitSet, List)
-
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
-
-