Project.FlagsRelNode.Contextdigest, id, rowType, traitSet| Constructor and Description |
|---|
LogicalProject(RelInput input)
Creates a LogicalProject by parsing serialized output.
|
LogicalProject(RelOptCluster cluster,
RelNode input,
List<RexNode> projects,
@Nullable List<? extends String> fieldNames,
int flags)
Deprecated.
|
LogicalProject(RelOptCluster cluster,
RelTraitSet traitSet,
List<RelHint> hints,
RelNode input,
List<? extends RexNode> projects,
RelDataType rowType)
Creates a LogicalProject.
|
LogicalProject(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode input,
List<? extends RexNode> projects,
RelDataType rowType)
Deprecated.
|
LogicalProject(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode input,
List<? extends RexNode> projects,
RelDataType rowType,
int flags)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
RelNode |
accept(RelShuttle shuttle)
Accepts a visit from a shuttle.
|
LogicalProject |
copy(RelTraitSet traitSet,
RelNode input,
List<RexNode> projects,
RelDataType rowType)
Copies a project.
|
static LogicalProject |
create(RelNode input,
List<RelHint> hints,
List<? extends RexNode> projects,
@Nullable List<? extends String> fieldNames)
Creates a LogicalProject.
|
static LogicalProject |
create(RelNode input,
List<RelHint> hints,
List<? extends RexNode> projects,
RelDataType rowType)
Creates a LogicalProject, specifying row type rather than field names.
|
boolean |
deepEquals(@Nullable Object obj)
Equality check for RelNode digest.
|
int |
deepHashCode()
Compute hash code for RelNode digest.
|
RelNode |
withHints(List<RelHint> hintList)
Returns a new relational expression with the specified hints
hintList. |
accept, computeSelfCost, containsOver, copy, copy, deepEquals0, deepHashCode0, explainTerms, getFlags, getHints, getMapping, getMapping, getNamedProjects, getPartialMapping, getPermutation, getPermutation, getProjects, isBoxed, isMapping, isValidchildrenAccept, deriveRowType, estimateRowCount, getInput, getInputs, replaceInputcollectVariablesSet, collectVariablesUsed, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, metadata, onRegister, recomputeDigest, register, sole, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitattachHintsexplain, fieldIsNullablepublic LogicalProject(RelOptCluster cluster, RelTraitSet traitSet, List<RelHint> hints, RelNode input, List<? extends RexNode> projects, RelDataType rowType)
Use create(org.apache.calcite.rel.RelNode, java.util.List<org.apache.calcite.rel.hint.RelHint>, java.util.List<? extends org.apache.calcite.rex.RexNode>, java.util.List<? extends java.lang.String>) unless you know what you're doing.
cluster - Cluster this relational expression belongs totraitSet - Traits of this relational expressionhints - Hints of this relational expressioninput - Input relational expressionprojects - List of expressions for the input columnsrowType - Output row type@Deprecated public LogicalProject(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, List<? extends RexNode> projects, RelDataType rowType)
@Deprecated public LogicalProject(RelOptCluster cluster, RelTraitSet traitSet, RelNode input, List<? extends RexNode> projects, RelDataType rowType, int flags)
@Deprecated public LogicalProject(RelOptCluster cluster, RelNode input, List<RexNode> projects, @Nullable List<? extends String> fieldNames, int flags)
public LogicalProject(RelInput input)
public static LogicalProject create(RelNode input, List<RelHint> hints, List<? extends RexNode> projects, @Nullable List<? extends String> fieldNames)
public static LogicalProject create(RelNode input, List<RelHint> hints, List<? extends RexNode> projects, RelDataType rowType)
public LogicalProject copy(RelTraitSet traitSet, RelNode input, List<RexNode> projects, RelDataType rowType)
Projectcopy in class ProjecttraitSet - Traitsinput - Inputprojects - Project expressionsrowType - Output row typeProject if any parameter differs from the value of this
Project, or just this if all the parameters are
the sameProject.copy(RelTraitSet, List)public RelNode accept(RelShuttle shuttle)
RelNodeaccept in interface RelNodeaccept in class AbstractRelNodeshuttle - Shuttlepublic RelNode withHints(List<RelHint> hintList)
HintablehintList.
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.
public boolean deepEquals(@Nullable Object obj)
AbstractRelNodeBy default this method collects digest attributes from
AbstractRelNode.explainTerms(RelWriter), then compares each attribute pair.
This should work well for most cases. If this method is a performance
bottleneck for your project, or the default behavior can't handle
your scenario properly, you can choose to override this method and
AbstractRelNode.deepHashCode(). See LogicalJoin as an example.
deepEquals in interface RelNodedeepEquals in class AbstractRelNodeAbstractRelNode.deepHashCode()public int deepHashCode()
AbstractRelNodedeepHashCode in interface RelNodedeepHashCode in class AbstractRelNodeRelNode.deepEquals(Object)Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.