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

Zhen Chen commented on CALCITE-7104:
------------------------------------

I think it is better to use it as a rule, similar to RelFieldTrimmer, which is 
too heavy. By implementing a utility class to recursively detect whether the 
expression is repeated, and then the rule uses this utility class to 
independently handle SORT (or possibly AGG).

> 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