public class NestedLoop extends PlanAndPlannedAnalyzedRelation
leftOuterLoop
to true, otherwise to false
leftOuterLoop
is true or not - so the projections added,
can assume the same order of symbols, first symbols from left, then from right.
If sth. else is selected a projection has to reorder those.IS_NOOP
Constructor and Description |
---|
NestedLoop(NestedLoopPhase nestedLoopPhase,
PlannedAnalyzedRelation left,
PlannedAnalyzedRelation right,
MergePhase localMerge,
java.util.Collection<java.lang.String> handlerNodes)
create a new NestedLoop
side in the outer loop, the right in the inner.
|
Modifier and Type | Method and Description |
---|---|
<C,R> R |
accept(PlanVisitor<C,R> visitor,
C context) |
void |
addProjection(Projection projection) |
java.util.UUID |
jobId() |
PlannedAnalyzedRelation |
left() |
MergePhase |
localMerge() |
NestedLoopPhase |
nestedLoopPhase() |
boolean |
resultIsDistributed() |
UpstreamPhase |
resultPhase() |
PlannedAnalyzedRelation |
right() |
accept, fields, getField, getQualifiedName, getWritableField, plan, setQualifiedName
public NestedLoop(NestedLoopPhase nestedLoopPhase, PlannedAnalyzedRelation left, PlannedAnalyzedRelation right, @Nullable MergePhase localMerge, java.util.Collection<java.lang.String> handlerNodes)
ORDER BY left.a, right.b
If false, the nested loop is executed the other way around.
With the following results:
a | 1
b | 1
a | 2
b | 2
a | 3
b | 3public PlannedAnalyzedRelation left()
public PlannedAnalyzedRelation right()
public NestedLoopPhase nestedLoopPhase()
public void addProjection(Projection projection)
public boolean resultIsDistributed()
public UpstreamPhase resultPhase()
public <C,R> R accept(PlanVisitor<C,R> visitor, C context)
public java.util.UUID jobId()
@Nullable public MergePhase localMerge()