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

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

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.26.0
    • 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

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            amaliujia Rui Wang
            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

                Slack

                  Issue deployment