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

Harish Butani reassigned HIVE-6030:
-----------------------------------

    Assignee: Harish Butani

> Introduce Explain SubQuery Rewrite command
> ------------------------------------------
>
>                 Key: HIVE-6030
>                 URL: https://issues.apache.org/jira/browse/HIVE-6030
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Harish Butani
>            Assignee: Harish Butani
>
> There are several transformations happening for SubQuery 
> predicates(HIVE-784). It is hard to tell from the explain plan how the Query 
> is executed. 
> So the goal is to introduce an explain subquery rewrite command that will 
> show the details on the rewrite. Fo e.g.:
> {noformat}
> -- non corr e.g.
> explain subquery rewrite select * from src where src.key in (select key from 
> src s1 where s1.key > '9');
> -- outputs:
> select * from src left semi join (select key from src s1 where s1.key > '9') 
> sq_1  on src.key = sq_1.key where 1 = 1
> -- corr e.g.
> explain subquery rewrite select * from src where src.key in (select key from 
> src s1 where s1.key > '9');
> -- outputs
> select key 
>   from src b left semi join (select min(value), a.key as sq_corr_0 
>      from (select key, value, rank() over(partition by key order by value) as 
> r from src) a 
>      where r <= 2 
>      group by a.key) sq_1  on b.key = sq_1.sq_corr_0 and b.value = sq_1._c0 
> where 1 = 1 and key < '9'
> {noformat}
> There are multiple rewrite cases:
> - corr vs non-cor
> - when 'not in' operator  is involved
> - a where clause predicate vs. a having clause predicate
> Not sure if it will be possible to output a valid Hive SQL query for all 
> cases; but at least provide the user enough information to assemble a valid 
> Hive query.
> Breaking this down into multiple subtasks.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to