[ 
https://issues.apache.org/jira/browse/CALCITE-737?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sean Hsuan-Yi Chu resolved CALCITE-737.
---------------------------------------
    Resolution: Invalid

My bad. Order by should be performed later.
I also tried a query on Postgres. It gave the same result as Calcite.

> When being used with Union, Order by is wrongly associated with the outer 
> query
> -------------------------------------------------------------------------------
>
>                 Key: CALCITE-737
>                 URL: https://issues.apache.org/jira/browse/CALCITE-737
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Sean Hsuan-Yi Chu
>            Assignee: Julian Hyde
>
> {code}
> select empno from emp t1 where empno = 1 
> union 
> select empno from emp t2 where empno is not null 
> group by empno 
> order by empno
> {code}
> Since union is a set operator, the Order-By is supposed to be associated with 
> the second subquery. However, the Rel Tree generated by Calcite is 
> {code}
> LogicalSort(sort0=[$0], dir0=[ASC])
>   LogicalProject(EMPNO=[$0])
>     LogicalUnion(all=[false])
>       LogicalProject(EMPNO=[$0])
>         LogicalFilter(condition=[=($0, 1)])
>           LogicalTableScan(table=[[CATALOG, SALES, EMP]])
>       LogicalAggregate(group=[{0}])
>         LogicalProject(EMPNO=[$0])
>           LogicalTableScan(table=[[CATALOG, SALES, EMP]])
> {code}
> where LogicalSort is performed at the end. 
> Union-All has the same behavior also.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to