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