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

Ashutosh Chauhan commented on HIVE-6348:
----------------------------------------

I am not sure doing it on AST is better (or easier). AST is not amenable to 
traverse nor does it contain semantic info. Easier (and correct) way IMO would 
be to write a rule on calcite operator tree which matches on HiveSort followed 
by HiveSort check there is no limit in that sort and than removes that HiveSort 
from tree. 
SubQueryRemove rule will remove subqueries from tree by than, but I dont think 
that will matter. Essentially, on an operator tree you are looking for 
redundant Sort operators.

> Order by/Sort by in subquery
> ----------------------------
>
>                 Key: HIVE-6348
>                 URL: https://issues.apache.org/jira/browse/HIVE-6348
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Gunther Hagleitner
>            Assignee: Rui Li
>            Priority: Minor
>              Labels: sub-query
>         Attachments: HIVE-6348.1.patch, HIVE-6348.2.patch
>
>
> select * from (select * from foo order by c asc) bar order by c desc;
> in hive sorts the data set twice. The optimizer should probably remove any 
> order by/sort by in the sub query unless you use 'limit '. Could even go so 
> far as barring it at the semantic level.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to