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

Harish Butani updated HIVE-5552:
--------------------------------

    Attachment: HIVE-5552.1.patch

> Merging of QBJoinTrees doesn't handle filter pushdowns correctly
> ----------------------------------------------------------------
>
>                 Key: HIVE-5552
>                 URL: https://issues.apache.org/jira/browse/HIVE-5552
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>            Reporter: Harish Butani
>            Assignee: Harish Butani
>         Attachments: HIVE-5552.1.patch, HIVE-5552.2.patch
>
>
> The following query fails:
> (this based on the schema from auto_join_filters.q)
> {noformat}
> explain
> SELECT sum(hash(a.key,a.value,b.key,b.value)) 
> FROM myinput1 a LEFT OUTER JOIN myinput1 b on a.value = b.value  RIGHT OUTER 
> JOIN myinput1 c 
>      ON 
>         b.value = c.value AND 
>         a.key > 40
> {noformat}
> Whereas this query succeeds
> {noformat}
> explain
> SELECT sum(hash(a.key,a.value,b.key,b.value)) 
> FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT OUTER JOIN myinput1 c 
>      ON  a.value = b.value and
>         b.value = c.value AND 
>         a.key > 40
> {noformat}
> Pushing the first condition to the first join, triggers a merge of the 2 
> QBJoinTrees. During merge all the right side  filters identified for pushing 
> are assumed to refer to the merging table (b in this case). But the pushable 
> filters can refer to any left table.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to