amaliujia commented on a change in pull request #2006:
URL: https://github.com/apache/calcite/pull/2006#discussion_r439784248



##########
File path: 
core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableMergeJoin.java
##########
@@ -222,6 +277,30 @@ public static boolean isMergeJoinSupported(JoinRelType 
joinType) {
     return mapping;
   }
 
+  private RelCollation extendCollation(RelCollation collation, List<Integer> 
keys) {
+    List<RelFieldCollation> fieldsForNewCollation = new 
ArrayList<>(keys.size());
+    fieldsForNewCollation.addAll(collation.getFieldCollations());
+    Set<Integer> keySet = new HashSet<>(keys);

Review comment:
       to add a bit explanation on the example above, the only usefulness of 
pushed collocations on [d, c], is just to maintain increasing order when move 
left pointer on left join input during merging. Thus [c, d] will achieve the 
same thing.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to