[ 
https://issues.apache.org/jira/browse/HIVE-5321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13772578#comment-13772578
 ] 

Alexander Pivovarov commented on HIVE-5321:
-------------------------------------------

Actually the result below is correct - all tt1 filters in "join on" should be 
ignored
hive> select * from tt1 left outer join tt2 on (tt1.c1 = tt2.c1 and tt1.c1 <= 
2);
1       1
2       2
3       NULL
4       NULL
                
> Join filters do not work correctly with outer joins again
> ---------------------------------------------------------
>
>                 Key: HIVE-5321
>                 URL: https://issues.apache.org/jira/browse/HIVE-5321
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 0.9.0, 0.11.0
>            Reporter: Alexander Pivovarov
>
> select * from tt1 left outer join tt2 on (tt1.c1 = tt2.c1 and tt1.c1 <= 2);
> does not give correct results.
> to reproduce:
> hive> create table tt1 (c1 int);
> hive> create table tt2 (c1 int);
> $ vi tt1
> 1
> 2
> 3
> 4
> $ vi tt2
> 1
> 2
> 8
> 9
> $ hadoop fs -put tt1 /user/hive/warehouse/tt1/
> $ hadoop fs -put tt2 /user/hive/warehouse/tt2/
> wrong result:
> hive> select * from tt1 left outer join tt2 on (tt1.c1 = tt2.c1 and tt1.c1 <= 
> 2);
> 1     1
> 2     2
> 3     NULL
> 4     NULL
> correct result:
> select * from tt1 left outer join tt2 on (tt1.c1 = tt2.c1) where tt1.c1 <= 2;
> 1     1
> 2     2
> hive-0.11.0-bin$ head -1 RELEASE_NOTES.txt 
> Release Notes - Hive - Version 0.11.0

--
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