public class EnumerableHashJoin extends Join implements EnumerableRel
Join in
enumerable calling convention.EnumerableRel.Prefer, EnumerableRel.ResultRelNode.Contextcondition, hints, joinInfo, joinType, variablesSetdigest, id, rowType, traitSet| Modifier | Constructor and Description |
|---|---|
protected |
EnumerableHashJoin(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
RexNode condition,
ImmutableIntList leftKeys,
ImmutableIntList rightKeys,
JoinRelType joinType,
Set<String> variablesStopped)
Deprecated.
|
protected |
EnumerableHashJoin(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
RexNode condition,
Set<CorrelationId> variablesSet,
JoinRelType joinType)
Creates an EnumerableHashJoin.
|
| Modifier and Type | Method and Description |
|---|---|
@Nullable RelOptCost |
computeSelfCost(RelOptPlanner planner,
RelMetadataQuery mq)
Returns the cost of this plan (not including children).
|
EnumerableHashJoin |
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 EnumerableHashJoin |
create(RelNode left,
RelNode right,
RexNode condition,
Set<CorrelationId> variablesSet,
JoinRelType joinType)
Creates an EnumerableHashJoin.
|
@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 EnumerableHashJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, Set<CorrelationId> variablesSet, JoinRelType joinType)
Use create(org.apache.calcite.rel.RelNode, org.apache.calcite.rel.RelNode, org.apache.calcite.rex.RexNode, java.util.Set<org.apache.calcite.rel.core.CorrelationId>, org.apache.calcite.rel.core.JoinRelType) unless you know what you're doing.
@Deprecated protected EnumerableHashJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, ImmutableIntList leftKeys, ImmutableIntList rightKeys, JoinRelType joinType, Set<String> variablesStopped)
public static EnumerableHashJoin create(RelNode left, RelNode right, RexNode condition, Set<CorrelationId> variablesSet, JoinRelType joinType)
public EnumerableHashJoin 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 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 @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 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.