public class EnumerableBatchNestedLoopJoin extends Join implements EnumerableRel
enumerable calling convention.EnumerableRel.Prefer, EnumerableRel.ResultRelNode.Contextcondition, hints, joinInfo, joinType, variablesSetdigest, id, rowType, traitSet| Modifier | Constructor and Description |
|---|---|
protected |
EnumerableBatchNestedLoopJoin(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
RexNode condition,
Set<CorrelationId> variablesSet,
ImmutableBitSet requiredColumns,
JoinRelType joinType) |
| Modifier and Type | Method and Description |
|---|---|
@Nullable RelOptCost |
computeSelfCost(RelOptPlanner planner,
RelMetadataQuery mq)
Returns the cost of this plan (not including children).
|
EnumerableBatchNestedLoopJoin |
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 EnumerableBatchNestedLoopJoin |
create(RelNode left,
RelNode right,
RexNode condition,
ImmutableBitSet requiredColumns,
Set<CorrelationId> variablesSet,
JoinRelType joinType) |
@Nullable Pair<RelTraitSet,List<RelTraitSet>> |
deriveTraits(RelTraitSet childTraits,
int childId)
Derive traitset from child node, returns a pair of traits after
traits derivation.
|
RelWriter |
explainTerms(RelWriter pw)
Describes the inputs and attributes of this relational expression.
|
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, 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 EnumerableBatchNestedLoopJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, Set<CorrelationId> variablesSet, ImmutableBitSet requiredColumns, JoinRelType joinType)
public static EnumerableBatchNestedLoopJoin create(RelNode left, RelNode right, RexNode condition, ImmutableBitSet requiredColumns, Set<CorrelationId> variablesSet, JoinRelType joinType)
public @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 EnumerableBatchNestedLoopJoin 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 @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 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 Joinpw - Plan writerpublic 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.