@Test public void testMergeJoinOptimizationLeftOuter() throws Exception { this.joinType = JoinType.JOIN_LEFT_OUTER; int rows = 12; List[] data = new List[rows]; for(int i=0; i<rows; i++) { data[i] = new ArrayList(); Integer value = new Integer((i*17) % 45); data[i].add(value); } this.leftTuples = data; this.rightTuples = createTuples2(); expected = new List[] { Arrays.asList(new Object[] { 0, null }), Arrays.asList(new Object[] {17, null }), Arrays.asList(new Object[] {34, null }), Arrays.asList(new Object[] { 6, 6 }), Arrays.asList(new Object[] {23, null }), Arrays.asList(new Object[] {40, null }), Arrays.asList(new Object[] {12, null }), Arrays.asList(new Object[] {29, null }), Arrays.asList(new Object[] { 1, 1 }), Arrays.asList(new Object[] {18, null }), Arrays.asList(new Object[] {35, null }), Arrays.asList(new Object[] { 7, 7 }), Arrays.asList(new Object[] { 7, 7 }), }; helpCreateJoin(); EnhancedSortMergeJoinStrategy esmjs = new EnhancedSortMergeJoinStrategy(SortOption.NOT_SORTED, SortOption.SORT); this.joinStrategy = esmjs; this.join.setJoinStrategy(joinStrategy); helpTestJoinDirect(expected, 10, 1); }
public void setJoinStrategy(JoinStrategy joinStrategy) { this.joinStrategy = joinStrategy; }
JoinNode extends SubqueryAwareRelationalNode { public void setJoinStrategy(JoinStrategy joinStrategy) { this.joinStrategy = joinStrategy; } }
JoinNode extends SubqueryAwareRelationalNode { public void setJoinStrategy(JoinStrategy joinStrategy) { this.joinStrategy = joinStrategy; } JoinNode(int nodeID); }
JoinNode extends SubqueryAwareRelationalNode { public void setJoinStrategy(JoinStrategy joinStrategy) { this.joinStrategy = joinStrategy; } JoinNode(int nodeID); void setJoinType(JoinType type); JoinStrategy getJoinStrategy(); void setJoinStrategy(JoinStrategy joinStrategy); void setJoinExpressions(List leftExpressions, List rightExpressions); boolean isLeftDistinct(); void setLeftDistinct(boolean leftDistinct); boolean isRightDistinct(); void setRightDistinct(boolean rightDistinct); void setJoinCriteria(Criteria joinCriteria); @Override void initialize(CommandContext context, BufferManager bufferManager,
            ProcessorDataManager dataMgr); void open(); void openInternal(); Object clone(); TupleBatch nextBatchDirect(); PlanNode getDescriptionProperties(); boolean isDependent(); void setDependentValueSource(String dependentValueSource); String getDependentValueSourceName(); void closeDirect(); @Override void reset(); JoinType getJoinType(); Criteria getJoinCriteria(); List getLeftExpressions(); List getRightExpressions(); DependentValueSource getDependentValueSource(); @Override Collection<? extends LanguageObject> getObjects(); }
JoinNode extends SubqueryAwareRelationalNode { public void setJoinStrategy(JoinStrategy joinStrategy) { this.joinStrategy = joinStrategy; } JoinNode(int nodeID); void setJoinType(JoinType type); JoinStrategy getJoinStrategy(); void setJoinStrategy(JoinStrategy joinStrategy); void setJoinExpressions(List leftExpressions, List rightExpressions); boolean isLeftDistinct(); void setLeftDistinct(boolean leftDistinct); boolean isRightDistinct(); void setRightDistinct(boolean rightDistinct); void setJoinCriteria(Criteria joinCriteria); @Override void initialize(CommandContext context, BufferManager bufferManager,
            ProcessorDataManager dataMgr); void open(); void openInternal(); Object clone(); TupleBatch nextBatchDirect(); PlanNode getDescriptionProperties(); boolean isDependent(); void setDependentValueSource(String dependentValueSource); String getDependentValueSourceName(); void closeDirect(); @Override void reset(); JoinType getJoinType(); Criteria getJoinCriteria(); List getLeftExpressions(); List getRightExpressions(); DependentValueSource getDependentValueSource(); @Override Collection<? extends LanguageObject> getObjects();  }