public class MergeJoinStrategy extends JoinStrategy
| Modifier and Type | Class and Description |
|---|---|
static class |
MergeJoinStrategy.SortOption |
| Modifier and Type | Field and Description |
|---|---|
protected MergeJoinStrategy.SortOption |
processingSortLeft |
protected MergeJoinStrategy.SortOption |
processingSortRight |
protected boolean |
singleMatch
false if default processing, true if only a single outer match is allowed
|
protected MergeJoinStrategy.SortOption |
sortLeft |
protected MergeJoinStrategy.SortOption |
sortRight |
joinNode, leftSource, reserved, rightSource| Constructor and Description |
|---|
MergeJoinStrategy(MergeJoinStrategy.SortOption sortLeft,
MergeJoinStrategy.SortOption sortRight,
boolean grouping) |
| Modifier and Type | Method and Description |
|---|---|
MergeJoinStrategy |
clone() |
void |
close() |
protected int |
compare(List leftProbe,
List rightProbe,
int[] leftExpressionIndecies,
int[] rightExpressionIndecies) |
protected boolean |
compareToPrevious(org.teiid.query.processor.relational.SourceState target) |
static int |
compareTuples(List<?> leftProbe,
List<?> rightProbe,
int[] leftExpressionIndecies,
int[] rightExpressionIndecies,
boolean nullEquals,
boolean columnDiff)
0 if the values match
positive if right is greater than left
negative if left is greater than right
In column diff mode, return -1 if the they are the same
else return the index where they differ
|
String |
getName() |
void |
initialize(JoinNode joinNode) |
protected void |
loadLeft() |
protected void |
loadRight() |
protected void |
process() |
protected void |
resetMatchState() |
void |
setProcessingSortLeft(boolean processingSortLeft) |
void |
setProcessingSortRight(boolean processingSortRight) |
MergeJoinStrategy |
singleMatch(boolean b)
Optional flag for a left outer join to enforce the single
row restriction of a scalar subquery
|
String |
toString() |
openLeft, openRight, outputTupleprotected MergeJoinStrategy.SortOption sortLeft
protected MergeJoinStrategy.SortOption sortRight
protected boolean singleMatch
protected MergeJoinStrategy.SortOption processingSortLeft
protected MergeJoinStrategy.SortOption processingSortRight
public MergeJoinStrategy(MergeJoinStrategy.SortOption sortLeft, MergeJoinStrategy.SortOption sortRight, boolean grouping)
public MergeJoinStrategy clone()
clone in class JoinStrategyJoinStrategy.clone()public void initialize(JoinNode joinNode)
initialize in class JoinStrategyJoinStrategy.initialize(org.teiid.query.processor.relational.JoinNode)protected void resetMatchState()
public void close()
close in class JoinStrategyJoinStrategy.close()protected void process()
throws TeiidComponentException,
TeiidProcessingException
process in class JoinStrategyTeiidComponentExceptionTeiidProcessingExceptionprotected boolean compareToPrevious(org.teiid.query.processor.relational.SourceState target)
throws TeiidComponentException,
TeiidProcessingException
protected int compare(List leftProbe, List rightProbe, int[] leftExpressionIndecies, int[] rightExpressionIndecies)
public static int compareTuples(List<?> leftProbe, List<?> rightProbe, int[] leftExpressionIndecies, int[] rightExpressionIndecies, boolean nullEquals, boolean columnDiff)
leftProbe - rightProbe - leftExpressionIndecies - rightExpressionIndecies - nullEquals - columnDiff - protected void loadLeft()
throws TeiidComponentException,
TeiidProcessingException
loadLeft in class JoinStrategyTeiidComponentExceptionTeiidProcessingExceptionprotected void loadRight()
throws TeiidComponentException,
TeiidProcessingException
loadRight in class JoinStrategyTeiidComponentExceptionTeiidProcessingExceptionpublic void setProcessingSortRight(boolean processingSortRight)
public void setProcessingSortLeft(boolean processingSortLeft)
public String getName()
public String toString()
toString in class ObjectObject.toString()public MergeJoinStrategy singleMatch(boolean b)
Copyright © 2019. All rights reserved.