[ https://issues.apache.org/jira/browse/HIVE-2253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13150295#comment-13150295 ]
jirapos...@reviews.apache.org commented on HIVE-2253: ----------------------------------------------------- ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1304/ ----------------------------------------------------------- (Updated 2011-11-15 08:13:13.468713) Review request for hive and namit jain. Changes ------- Rebased patch to trunk Summary (updated) ------- It's very very rare case.. just for code completeness. <added> This case had happened in real query. It was not as rare as we thought. Fix this plz. This addresses bug HIVE-2253. https://issues.apache.org/jira/browse/HIVE-2253 Diffs (updated) ----- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java d60ba09 ql/src/test/queries/clientpositive/mergejoins.q PRE-CREATION ql/src/test/results/clientpositive/mergejoins.q.out PRE-CREATION Diff: https://reviews.apache.org/r/1304/diff Testing (updated) ------- Test case added : clientpositive/mergejoins.q Thanks, Navis > Merge failing of join tree in exceptional case > ---------------------------------------------- > > Key: HIVE-2253 > URL: https://issues.apache.org/jira/browse/HIVE-2253 > Project: Hive > Issue Type: Bug > Components: Query Processor > Affects Versions: 0.7.0 > Environment: hadoop 0.20.2, hive 0.7.0 > Reporter: Navis > Assignee: Navis > Priority: Minor > Attachments: HIVE-2253-0.8.0.patch, HIVE-2253.1.patch.txt > > > In some very exceptional cases, SemanticAnayzer fails to merge join tree. > Example is below. > create table a (val1 int, val2 int) > create table b (val1 int, val2 int) > create table c (val1 int, val2 int) > create table d (val1 int, val2 int) > create table e (val1 int, val2 int) > 1. all same(single) join key --> one MR, good > select * from a join b on a.val1=b.val1 join c on a.val1=c.val1 join d on > a.val1=d.val1 join e on a.val1=e.val1 > 2. two join keys --> expected to have two MR, but resulted to three MR > select * from a join b on a.val1=b.val1 join c on a.val1=c.val1 join d on > a.val1=d.val1 join e on a.val2=e.val2 > 3. by changing the join order, we could attain two MR as first-expectation. > select * from a join e on a.val2=e.val2 join c on a.val1=c.val1 join d on > a.val1=d.val1 join b on a.val1=b.val1 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira