Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-4015

Pass through parent collation request on subset or superset of join keys for EnumerableMergeJoin

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.26.0
    • Component/s: core

      Description

      Pass through parent collation request on subset or superset of join keys for EnumerableMergeJoin.
      e.g.

      select * from foo join bar on foo.a=bar.a and foo.b=bar.b order by foo.b;
      

      collation on b is passed to mergejoin, mergejoin should generate an alternative with collation on b, a.

      select * from foo join bar on foo.a=bar.a and foo.b=bar.b order by foo.a, foo.b, foo.c;
      

      collation on a,b,c is passed to mergejoin, mergejoin should generate an alternative with collation on a,b,c, even the join keys are a,b, but since foo.c is also the output column, mergejoin can still request its child foo to deliver collation on a,b,c. The join keys must be the collation request's prefixes (keys order is not required to be reserved).

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                amaliujia Rui Wang
                Reporter:
                hyuan Haisheng Yuan
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 12h 50m
                  12h 50m