[ https://issues.apache.org/jira/browse/HIVE-3464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13615729#comment-13615729 ]
Phabricator commented on HIVE-3464: ----------------------------------- vikram has commented on the revision "HIVE-3464 [jira] Merging join tree may reorder joins which could be invalid". Question with regard to a new api introduced in the patch. INLINE COMMENTS ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java:6644 Could you explain the use of the left variable in the api? The only use always seems to set it to true and this variable is not used within the api itself. REVISION DETAIL https://reviews.facebook.net/D5409 To: JIRA, navis Cc: njain, vikram > 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, HIVE-3464.D5409.3.patch, > HIVE-3464.D5409.4.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