[ 
https://issues.apache.org/jira/browse/CALCITE-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18009815#comment-18009815
 ] 

Julian Hyde commented on CALCITE-7104:
--------------------------------------

That's great. When you implement CALCITE-5913 do something very simple - say a 
single method "determines(int key, int column)", so that "determines(e.empno, 
e.deptno)" and "determines(e.deptno, d.deptno)"  would both return true. That 
will be enough to remove redundant sort keys. We can add more FD mothods later.

> Remove duplicate sort keys
> --------------------------
>
>                 Key: CALCITE-7104
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7104
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: weihua zhang
>            Priority: Major
>              Labels: pull-request-available
>
> {code:sql}
> select d1 from  (select deptno as d1, deptno as d2 from dept ) as tmp order 
> by d1, d2;
> {code}
> {noformat}
> LogicalProject(D1=[$0]), id = 2284
>   LogicalSort(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC]), id = 2283
>     LogicalProject(D1=[$0], D2=[$0]), id = 2282
>       LogicalTableScan(table=[[default, dept]]), id = 2278
> {noformat}
> LogicalSort can change to:
> {noformat}
> LogicalProject(D1=[$0]), id = 2284
>   LogicalSort(sort0=[$0], dir0=[ASC]), id = 2283
>     LogicalProject(D1=[$0], D2=[$0]), id = 2282
>       LogicalTableScan(table=[[default, dept]]), id = 2278
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to