Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Given MergeJoin on foo.a=bar.a and foo.b=bar.b,
The codegen for EnumerableMergeJoin always sort tuples by ascending order, nulls last, but after 1.23.0 calcite can generate MergeJoin on collation of (b,a), or even (a,b,c), (b,a,c), with any asc/desc, null direction, which are all legit. So the codegen should sort tuples exactly according to the requirement of collation.
See https://github.com/apache/calcite/blob/master/linq4j/src/main/java/org/apache/calcite/linq4j/EnumerableDefaults.java#L1966
and
https://github.com/apache/calcite/pull/1833#discussion_r384445110
Attachments
Issue Links
- blocks
-
CALCITE-4052 Enable Top-down Optimization
- Open
- is duplicated by
-
CALCITE-4161 MergeJoin algorithm should not assume inputs sorted in ascending order
- Closed