You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Phabricator (JIRA)" <ji...@apache.org> on 2012/12/05 02:50:58 UTC
[jira] [Updated] (HIVE-3464) Merging join tree may reorder joins
which could be invalid
[ https://issues.apache.org/jira/browse/HIVE-3464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phabricator updated HIVE-3464:
------------------------------
Attachment: HIVE-3464.D5409.2.patch
navis updated the revision "HIVE-3464 [jira] Merging join tree may reorder joins which could be invalid".
Reviewers: JIRA
Rebase on trunk
REVISION DETAIL
https://reviews.facebook.net/D5409
AFFECTED FILES
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
ql/src/test/queries/clientpositive/mergejoins_mixed.q
ql/src/test/results/clientpositive/mergejoins_mixed.q.out
To: JIRA, navis
> Merging join tree may reorder joins which could be invalid
> ----------------------------------------------------------
>
> Key: HIVE-3464
> URL: https://issues.apache.org/jira/browse/HIVE-3464
> Project: Hive
> Issue Type: Bug
> Components: Query Processor
> Affects Versions: 0.10.0
> Reporter: Navis
> Assignee: Navis
> Attachments: HIVE-3464.D5409.2.patch
>
>
> Currently, hive merges join tree from right to left regardless of join types, which may introduce join reordering. For example,
> select * from a join a b on a.key=b.key join a c on b.key=c.key join a d on a.key=d.key;
> Hive tries to merge join tree in a-d=b-d, a-d=a-b, b-c=a-b order and a-d=a-b and b-c=a-b will be merged. Final join tree is "a-(bdc)".
> With this, ab-d join will be executed prior to ab-c. But if join type of -c and -d is different, this is not valid.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira