public class EnumerableThetaJoin extends Join implements EnumerableRel
Join in
enumerable calling convention
that allows conditions that are not just = (equals).EnumerableRel.Prefer, EnumerableRel.ResultRelNode.Contextcondition, joinType, variablesSetdigest, id, rowType, traitSetFILTER_FACTORY, PROJECT_FACTORY| Modifier | Constructor and Description |
|---|---|
protected |
EnumerableThetaJoin(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
RexNode condition,
JoinRelType joinType,
Set<String> variablesStopped)
Deprecated.
|
protected |
EnumerableThetaJoin(RelOptCluster cluster,
RelTraitSet traits,
RelNode left,
RelNode right,
RexNode condition,
Set<CorrelationId> variablesSet,
JoinRelType joinType)
Creates an EnumerableThetaJoin.
|
| Modifier and Type | Method and Description |
|---|---|
private double |
addEpsilon(double d) |
RelOptCost |
computeSelfCost(RelOptPlanner planner,
RelMetadataQuery mq)
Returns the cost of this plan (not including children).
|
EnumerableThetaJoin |
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.
|
EnumerableRel.Result |
implement(EnumerableRelImplementor implementor,
EnumerableRel.Prefer pref)
Creates a plan for this expression according to a calling convention.
|
(package private) Expression |
predicate(EnumerableRelImplementor implementor,
BlockBuilder builder,
PhysType leftPhysType,
PhysType rightPhysType,
RexNode condition) |
accept, analyzeCondition, copy, createJoinType, deriveJoinRowType, deriveRowType, estimateJoinedRows, estimateRowCount, explainTerms, getChildExps, getCondition, getJoinType, getSystemFieldList, getVariablesSet, isSemiJoinDone, isValidchildrenAccept, getInputs, getLeft, getRight, replaceInputaccept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, explain, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesStopped, isDistinct, isKey, isValid, metadata, onRegister, recomputeDigest, register, sole, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaccept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, copy, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInputgetCluster, getDescription, getDigest, getId, getTraitSetprotected EnumerableThetaJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, Set<CorrelationId> variablesSet, JoinRelType joinType) throws InvalidRelException
InvalidRelException@Deprecated protected EnumerableThetaJoin(RelOptCluster cluster, RelTraitSet traits, RelNode left, RelNode right, RexNode condition, JoinRelType joinType, Set<String> variablesStopped) throws InvalidRelException
InvalidRelExceptionpublic EnumerableThetaJoin 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 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 queryprivate double addEpsilon(double d)
public EnumerableRel.Result implement(EnumerableRelImplementor implementor, EnumerableRel.Prefer pref)
EnumerableRelimplement in interface EnumerableRelimplementor - Implementorpref - Preferred representation for rows in result expressionExpression predicate(EnumerableRelImplementor implementor, BlockBuilder builder, PhysType leftPhysType, PhysType rightPhysType, RexNode condition)
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.