public final class LogicalFilter extends Filter
Filter
not targeted at any particular engine or calling convention.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,
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(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.
|
accept, computeSelfCost, containsOver, copy, deepEquals0, deepHashCode0, estimateFilteredRows, estimateFilteredRows, estimateRowCount, getCondition, 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, toStringpublic 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
RelWriterImpl.item(String, Object)
methods for each input and attribute.explainTerms in class Filterpw - Plan writerpublic boolean deepEquals(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 AbstractRelNodeAbstractRelNode.deepEquals(Object)Copyright © 2012-2020 Apache Software Foundation. All Rights Reserved.