@Test public void testMergeJoinAlreadySortedWithNulls() throws Exception { this.joinType = JoinType.JOIN_INNER; this.leftTuples = new List[] { Collections.singletonList(null), Arrays.asList(1), Arrays.asList(2), }; this.rightTuples = new List[] { Arrays.asList(1), Arrays.asList(2), Collections.singletonList(null), }; expected = new List[] { Arrays.asList(new Object[] { 1, 1 }), Arrays.asList(new Object[] { 2, 2 }), }; helpCreateJoin(); this.joinStrategy = new EnhancedSortMergeJoinStrategy(SortOption.ALREADY_SORTED, SortOption.ALREADY_SORTED); this.join.setJoinStrategy(joinStrategy); helpTestJoinDirect(expected, 40, 100000); List[] temp = leftTuples; leftTuples = rightTuples; rightTuples = temp; helpCreateJoin(); helpTestJoinDirect(expected, 40, 100000); }
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();  }