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

Vineet Garg updated HIVE-21230:
-------------------------------
    Status: Patch Available  (was: Open)

> 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, HIVE-21230.4.patch, HIVE-21230.5.patch, 
> HIVE-21230.6.patch, HIVE-21230.7.patch, HIVE-21230.8.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)

Reply via email to