hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vikram Dixit K (JIRA)" <>
Subject [jira] [Commented] (HIVE-3464) Merging join tree may reorder joins which could be invalid
Date Wed, 27 Mar 2013 20:39:16 GMT


Vikram Dixit K commented on HIVE-3464:

[~navis] I went through the tests and code and I see how this affects the plan. Could you
please add tests that produce some output rows. You could add something like

insert overwrite table a select * from src;

in your test file(mergejoins_mixed.q). I see that when I remove the explain statements associated
with this test, a complicated query - inner, right outer (different key), full outer is what
produces a different output. Others seem fine perhaps lucky. 

Also had a comment on code review.
> Merging join tree may reorder joins which could be invalid
> ----------------------------------------------------------
>                 Key: HIVE-3464
>                 URL:
>             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:

View raw message