public class EnumerableNestedLoopJoin extends Join implements EnumerableRel
Join in
enumerable calling convention
that allows conditions that are not just = (equals).EnumerableRel.Prefer, EnumerableRel.ResultRelNode.Contextcondition, hints, joinInfo, joinType, variablesSetdigest, id, rowType, traitSet| Modifier | Constructor and Description |
|---|---|
protected |
EnumerableNestedLoopJoin(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
RexNode condition,
JoinRelType joinType,
Set<String> variablesStopped)
Deprecated.
|
protected |
EnumerableNestedLoopJoin(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
RexNode condition,
Set<CorrelationId> variablesSet,
JoinRelType joinType)
Creates an EnumerableNestedLoopJoin.
|
| Modifier and Type | Method and Description |
|---|---|
@Nullable RelOptCost |
computeSelfCost(RelOptPlanner planner,
RelMetadataQuery mq)
Returns the cost of this plan (not including children).
|
EnumerableNestedLoopJoin |
copy(RelTraitSet traitSet,
RexNode condition,
RelNode left,
RelNode right,
JoinRelType joinType,
boolean semiJoinDone)
Creates a copy of this join, overriding condition, system fields and
inputs.
|
static EnumerableNestedLoopJoin |
create(RelNode left,
RelNode right,
RexNode condition,
Set<CorrelationId> variablesSet,
JoinRelType joinType)
Creates an EnumerableNestedLoopJoin.
|
@Nullable Pair<RelTraitSet,List<RelTraitSet>> |
deriveTraits(RelTraitSet childTraits,
int childId)
Derive traitset from child node, returns a pair of traits after
traits derivation.
|
DeriveMode |
getDeriveMode()
Returns mode of derivation.
|
EnumerableRel.Result |
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.
|
accept, analyzeCondition, copy, createJoinType, deepEquals0, deepHashCode0, deriveJoinRowType, deriveRowType, estimateJoinedRows, estimateRowCount, explainTerms, getCondition, getHints, getJoinType, getSystemFieldList, getVariablesSet, isSemiJoin, isSemiJoinDone, isValidchildrenAccept, getInputs, getLeft, getRight, replaceInputaccept, 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, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitderive, derive, passThroughaccept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, copy, deepEquals, deepHashCode, estimateRowCount, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInputgetCluster, getDescription, getId, getTraitSetattachHints, withHintsprotected EnumerableNestedLoopJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, Set<CorrelationId> variablesSet, JoinRelType joinType)
@Deprecated protected EnumerableNestedLoopJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, JoinRelType joinType, Set<String> variablesStopped)
public EnumerableNestedLoopJoin copy(RelTraitSet traitSet, RexNode condition, RelNode left, RelNode right, JoinRelType joinType, boolean semiJoinDone)
JoinGeneral contract as RelNode.copy(org.apache.calcite.plan.RelTraitSet, java.util.List<org.apache.calcite.rel.RelNode>).
public static EnumerableNestedLoopJoin create(RelNode left, RelNode right, RexNode condition, Set<CorrelationId> variablesSet, JoinRelType joinType)
public @Nullable RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq)
RelNodeNOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
RelMetadataQuery.getNonCumulativeCost(org.apache.calcite.rel.RelNode), which gives plugins a
chance to override the rel's default ideas about cost.
computeSelfCost in interface RelNodecomputeSelfCost in class Joinplanner - Planner for cost calculationmq - Metadata querypublic @Nullable Pair<RelTraitSet,List<RelTraitSet>> passThroughTraits(RelTraitSet required)
PhysicalNodePair.left: the new traitset
Pair.right: the list of required traitsets for child nodes
passThroughTraits in interface EnumerableRelpassThroughTraits in interface PhysicalNodepublic @Nullable Pair<RelTraitSet,List<RelTraitSet>> deriveTraits(RelTraitSet childTraits, int childId)
PhysicalNodePair.left: the new traitset
Pair.right: the list of required traitsets for child nodes
deriveTraits in interface EnumerableRelderiveTraits in interface PhysicalNodepublic DeriveMode getDeriveMode()
PhysicalNodegetDeriveMode in interface EnumerableRelgetDeriveMode in interface PhysicalNodepublic EnumerableRel.Result implement(EnumerableRelImplementor implementor, EnumerableRel.Prefer pref)
EnumerableRelimplement in interface EnumerableRelimplementor - Implementorpref - Preferred representation for rows in result expressionCopyright © 2012-2022 Apache Software Foundation. All Rights Reserved.