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

Vitalii Diravka updated CALCITE-2275:
-------------------------------------
    Description: 
Using logical NOT operator in Join condition leads to mistakenly push down this 
condition. Then LogicalProject is created with RexCall expression. It prevents 
for further inferring predicates (by using JoinPushTransitivePredicatesRule, 
for instance).

Query example:
{code:sql}
select * from sales.emp d join sales.emp e on e.deptno = d.deptno and d.deptno 
not in (4, 6)
{code}

  was:Using logical NOT operator in Join condition leads to mistakenly push 
down this condition. Then LogicalProject is created with RexCall expression. It 
prevents for further inferring predicates (by using 
JoinPushTransitivePredicatesRule, for instance).


> Using logical NOT operator in Join condition leads to mistakenly push down 
> this condition.
> ------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-2275
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2275
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.16.0
>            Reporter: Vitalii Diravka
>            Assignee: Vitalii Diravka
>            Priority: Major
>             Fix For: 1.17.0
>
>
> Using logical NOT operator in Join condition leads to mistakenly push down 
> this condition. Then LogicalProject is created with RexCall expression. It 
> prevents for further inferring predicates (by using 
> JoinPushTransitivePredicatesRule, for instance).
> Query example:
> {code:sql}
> select * from sales.emp d join sales.emp e on e.deptno = d.deptno and 
> d.deptno not in (4, 6)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to