You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Zhihua Deng (Jira)" <ji...@apache.org> on 2021/06/11 04:38:00 UTC

[jira] [Updated] (HIVE-24969) Predicates may be removed when decorrelating subqueries with lateral

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

Zhihua Deng updated HIVE-24969:
-------------------------------
    Summary: Predicates may be removed when decorrelating subqueries with lateral  (was: Predicates are removed by PPD when left semi join followed by lateral view)

> Predicates may be removed when decorrelating subqueries with lateral
> --------------------------------------------------------------------
>
>                 Key: HIVE-24969
>                 URL: https://issues.apache.org/jira/browse/HIVE-24969
>             Project: Hive
>          Issue Type: Bug
>          Components: Logical Optimizer
>            Reporter: Zhihua Deng
>            Assignee: Zhihua Deng
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> Step to reproduce:
> {code:java}
> select count(distinct logItem.triggerId)
> from service_stat_log LATERAL VIEW explode(logItems) LogItemTable AS logItem
> where logItem.dsp in ('delivery', 'ocpa')
> and logItem.iswin = true
> and logItem.adid in (
>  select distinct adId
>  from ad_info
>  where subAccountId in (16010, 14863));  {code}
> For predicates _logItem.dsp in ('delivery', 'ocpa')_  and _logItem.iswin = true_ are removed when doing ppd: JOIN ->   RS  -> LVJ.  The JOIN has candicates: logitem -> [logItem.dsp in ('delivery', 'ocpa'), logItem.iswin = true],when pushing them to the RS followed by LVJ,  none of them are pushed, the candicates of logitem are removed finally by default, which cause to the wrong result.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)