[jira] [Updated] (HIVE-5552) Merging of QBJoinTrees doesn't handle filter pushdowns correctly
[ https://issues.apache.org/jira/browse/HIVE-5552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ashutosh Chauhan updated HIVE-5552: --- Resolution: Fixed Fix Version/s: 0.13.0 Status: Resolved (was: Patch Available) Committed to trunk. Thanks, Harish! > 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 > Fix For: 0.13.0 > > 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)
[jira] [Updated] (HIVE-5552) Merging of QBJoinTrees doesn't handle filter pushdowns correctly
[ https://issues.apache.org/jira/browse/HIVE-5552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Harish Butani updated HIVE-5552: Status: Patch Available (was: Open) > 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)
[jira] [Updated] (HIVE-5552) Merging of QBJoinTrees doesn't handle filter pushdowns correctly
[ https://issues.apache.org/jira/browse/HIVE-5552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Harish Butani updated HIVE-5552: Attachment: (was: HIVE-5552.2.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)
[jira] [Updated] (HIVE-5552) Merging of QBJoinTrees doesn't handle filter pushdowns correctly
[ 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.2.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)
[jira] [Updated] (HIVE-5552) Merging of QBJoinTrees doesn't handle filter pushdowns correctly
[ 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)
[jira] [Updated] (HIVE-5552) Merging of QBJoinTrees doesn't handle filter pushdowns correctly
[ https://issues.apache.org/jira/browse/HIVE-5552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Harish Butani updated HIVE-5552: Status: Open (was: Patch Available) > 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.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)
[jira] [Updated] (HIVE-5552) Merging of QBJoinTrees doesn't handle filter pushdowns correctly
[ https://issues.apache.org/jira/browse/HIVE-5552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Harish Butani updated HIVE-5552: Status: Patch Available (was: Open) > 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.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)
[jira] [Updated] (HIVE-5552) Merging of QBJoinTrees doesn't handle filter pushdowns correctly
[ 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.2.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.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)