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

Chaoyu Tang updated HIVE-12566:
-------------------------------
    Attachment: HIVE-12566.1.patch

Rebased and recreated new qtest join_cond_pushdown_unqual5.q output file. Other 
tests are either aged failed tests or due to infra issue (connection refused).
Resubmitted the new patch.

> Incorrect result returns when using COALESCE in WHERE condition with LEFT JOIN
> ------------------------------------------------------------------------------
>
>                 Key: HIVE-12566
>                 URL: https://issues.apache.org/jira/browse/HIVE-12566
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Planning
>    Affects Versions: 0.13.0
>            Reporter: Chaoyu Tang
>            Assignee: Chaoyu Tang
>            Priority: Critical
>         Attachments: HIVE-12566.1.patch, HIVE-12566.patch
>
>
> The left join query with on/where clause returns incorrect result (more rows 
> are returned). See the reproducible sample below.
> Left table with data:
> {code}
> CREATE TABLE ltable (i int, la int, lk1 string, lk2 string) ROW FORMAT 
> DELIMITED FIELDS TERMINATED BY ',';
> ---
> 1,\N,CD5415192314304,00071
> 2,\N,CD5415192225530,00071
> {code}
> Right  table with data:
> {code}
> CREATE TABLE rtable (ra int, rk1 string, rk2 string) ROW FORMAT DELIMITED 
> FIELDS TERMINATED BY ',';
> ---
> 1,CD5415192314304,00071
> 45,CD5415192314304,00072
> {code}
> Query:
> {code}
> SELECT * FROM ltable l LEFT OUTER JOIN rtable r on (l.lk1 = r.rk1 AND l.lk2 = 
> r.rk2) WHERE COALESCE(l.la,'EMPTY')=COALESCE(r.ra,'EMPTY');
> {code}
> Result returns:
> {code}
> 1     NULL    CD5415192314304 00071   NULL    NULL    NULL
> 2     NULL    CD5415192225530 00071   NULL    NULL    NULL
> {code}
> The correct result should be
> {code}
> 2     NULL    CD5415192225530 00071   NULL    NULL    NULL
> {code}



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

Reply via email to