[ 
https://issues.apache.org/jira/browse/HIVE-14027?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jesus Camacho Rodriguez updated HIVE-14027:
-------------------------------------------
    Attachment: HIVE-14027.patch

Problem was in the initialization of operator. We use the object inspector from 
the key of the BigTable in the MapJoin for the key of the broadcast table, but 
this is not correct for outer joins (if you have not match for a left record, 
the value for the key column in the right side will be null). I have uploaded a 
fix and the test case to validate the fix.

> NULL values produced by left outer join do not behave as NULL
> -------------------------------------------------------------
>
>                 Key: HIVE-14027
>                 URL: https://issues.apache.org/jira/browse/HIVE-14027
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 1.2.1, 2.2.0
>            Reporter: Vaibhav Gumashta
>            Assignee: Jesus Camacho Rodriguez
>         Attachments: HIVE-14027.patch
>
>
> Consider the following setup:
> {code}
> create table tbl (n bigint, t string); 
> insert into tbl values (1, 'one'); 
> insert into tbl values(2, 'two');
> select a.n, a.t, isnull(b.n), isnull(b.t) from (select * from tbl where n = 
> 1) a  left outer join  (select * from tbl where 1 = 2) b on a.n = b.n;
> 1    one    false    true
> {code}
> The query should return true for isnull(b.n).
> I've tested by inserting a row with null value for the bigint column into 
> tbl, and isnull returns true in that case. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to