Haisheng Yuan created CALCITE-4015:
--------------------------------------

             Summary: Pass through parent collation request on subset or 
superset of join keys for EnumerableMergeJoin
                 Key: CALCITE-4015
                 URL: https://issues.apache.org/jira/browse/CALCITE-4015
             Project: Calcite
          Issue Type: Improvement
          Components: core
            Reporter: Haisheng Yuan


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

{code:java}
select * from foo join bar on foo.a=bar.a and foo.b=bar.b order by b;
{code}

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

{code:java}
select * from foo join bar on foo.a=bar.a and foo.b=bar.b order by foo.a, 
foo.b, foo.c;
{code}
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.






--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to