Sean Hsuan-Yi Chu created CALCITE-737:
-----------------------------------------

             Summary: 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