[ https://issues.apache.org/jira/browse/HIVE-21230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vineet Garg updated HIVE-21230: ------------------------------- Attachment: HIVE-21230.3.patch > LEFT OUTER JOIN does not generate transitive IS NOT NULL filter on right side > (HiveJoinAddNotNullRule bails out for outer joins) > -------------------------------------------------------------------------------------------------------------------------------- > > Key: HIVE-21230 > URL: https://issues.apache.org/jira/browse/HIVE-21230 > Project: Hive > Issue Type: Improvement > Components: CBO > Reporter: Jesus Camacho Rodriguez > Assignee: Vineet Garg > Priority: Major > Labels: newbie > Attachments: HIVE-21230.1.patch, HIVE-21230.2.patch, > HIVE-21230.3.patch > > > For instance, given the following query: > {code:sql} > SELECT t0.col0, t0.col1 > FROM > ( > SELECT col0, col1 FROM tab > ) AS t0 > LEFT JOIN > ( > SELECT col0, col1 FROM tab > ) AS t1 > ON t0.col0 = t1.col0 AND t0.col1 = t1.col1 > {code} > we could still infer that col0 and col1 cannot be null in the right input and > introduce the corresponding filter predicate. Currently, the rule just bails > out if it is not an inner join. > https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinAddNotNullRule.java#L79 -- This message was sent by Atlassian JIRA (v7.6.3#76005)