RelNode.Contextdigest, id, rowType, traitSet| Constructor and Description |
|---|
LogicalFilter(RelInput input)
Creates a LogicalFilter by parsing serialized output.
|
LogicalFilter(RelOptCluster cluster,
RelNode child,
RexNode condition)
Deprecated.
|
LogicalFilter(RelOptCluster cluster,
RelTraitSet traitSet,
List<RelHint> hints,
RelNode child,
RexNode condition,
com.google.common.collect.ImmutableSet<CorrelationId> variablesSet)
Creates a LogicalFilter.
|
LogicalFilter(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child,
RexNode condition)
Deprecated.
|
LogicalFilter(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child,
RexNode condition,
com.google.common.collect.ImmutableSet<CorrelationId> variablesSet)
Creates a LogicalFilter.
|
| Modifier and Type | Method and Description |
|---|---|
RelNode |
accept(RelShuttle shuttle)
Accepts a visit from a shuttle.
|
LogicalFilter |
copy(RelTraitSet traitSet,
RelNode input,
RexNode condition) |
static LogicalFilter |
create(RelNode input,
RexNode condition)
Creates a LogicalFilter.
|
static LogicalFilter |
create(RelNode input,
RexNode condition,
com.google.common.collect.ImmutableSet<CorrelationId> variablesSet)
Creates a LogicalFilter.
|
boolean |
deepEquals(@Nullable Object obj)
Equality check for RelNode digest.
|
int |
deepHashCode()
Compute hash code for RelNode digest.
|
RelWriter |
explainTerms(RelWriter pw)
Describes the inputs and attributes of this relational expression.
|
Set<CorrelationId> |
getVariablesSet()
Returns the variables that are set in this relational
expression but also used and therefore not available to parents of this
relational expression.
|
RelNode |
withHints(List<RelHint> hintList)
Returns a new relational expression with the specified hints
hintList. |
accept, computeSelfCost, containsOver, copy, deepEquals0, deepHashCode0, estimateFilteredRows, estimateFilteredRows, estimateRowCount, getCondition, getHints, isValidchildrenAccept, deriveRowType, getInput, getInputs, replaceInputcollectVariablesSet, collectVariablesUsed, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, hashCode, isEnforcer, metadata, onRegister, recomputeDigest, register, sole, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitattachHintsexplain, fieldIsNullablepublic LogicalFilter(RelOptCluster cluster, RelTraitSet traitSet, List<RelHint> hints, RelNode child, RexNode condition, com.google.common.collect.ImmutableSet<CorrelationId> variablesSet)
Use create(org.apache.calcite.rel.RelNode, org.apache.calcite.rex.RexNode) unless you know what you're doing.
cluster - Cluster that this relational expression belongs tochild - Input relational expressioncondition - Boolean expression which determines whether a row is
allowed to passvariablesSet - Correlation variables set by this relational expression
to be used by nested expressionspublic LogicalFilter(RelOptCluster cluster, RelTraitSet traitSet, RelNode child, RexNode condition, com.google.common.collect.ImmutableSet<CorrelationId> variablesSet)
Use create(org.apache.calcite.rel.RelNode, org.apache.calcite.rex.RexNode) unless you know what you're doing.
cluster - Cluster that this relational expression belongs tochild - Input relational expressioncondition - Boolean expression which determines whether a row is
allowed to passvariablesSet - Correlation variables set by this relational expression
to be used by nested expressions@Deprecated public LogicalFilter(RelOptCluster cluster, RelTraitSet traitSet, RelNode child, RexNode condition)
@Deprecated public LogicalFilter(RelOptCluster cluster, RelNode child, RexNode condition)
public LogicalFilter(RelInput input)
public static LogicalFilter create(RelNode input, RexNode condition)
public static LogicalFilter create(RelNode input, RexNode condition, com.google.common.collect.ImmutableSet<CorrelationId> variablesSet)
public Set<CorrelationId> getVariablesSet()
RelNodeNote: only Correlate should set
variables.
getVariablesSet in interface RelNodegetVariablesSet in class AbstractRelNodepublic LogicalFilter copy(RelTraitSet traitSet, RelNode input, RexNode condition)
public RelNode accept(RelShuttle shuttle)
RelNodeaccept in interface RelNodeaccept in class AbstractRelNodeshuttle - Shuttlepublic RelWriter explainTerms(RelWriter pw)
AbstractRelNodesuper.explainTerms, then call the
RelWriter.input(String, RelNode)
and
RelWriter.item(String, Object)
methods for each input and attribute.explainTerms in class Filterpw - Plan writerpublic 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)public 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.
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.