[ 
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.5.patch

navis updated the revision "HIVE-3464 [jira] Merging join tree may reorder 
joins which could be invalid".

  1. Use largest one as big table if all tables are smaller than threshold
  2. Fix bug on max aliases for outer join
  3. Addressed comments & rebased to trunk

Reviewers: JIRA

REVISION DETAIL
  https://reviews.facebook.net/D5409

CHANGE SINCE LAST DIFF
  https://reviews.facebook.net/D5409?vs=30549&id=30597#toc

AFFECTED FILES
  ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/CommonJoinResolver.java
  ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
  ql/src/test/queries/clientpositive/mergejoins_mixed.q
  ql/src/test/queries/clientpositive/smb_mapjoin_17.q
  ql/src/test/results/clientpositive/join_filters_overlap.q.out
  ql/src/test/results/clientpositive/mergejoins_mixed.q.out
  ql/src/test/results/clientpositive/smb_mapjoin_17.q.out

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, HIVE-3464.D5409.5.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

Reply via email to