Stamatis Zampetakis created CALCITE-5675: --------------------------------------------
Summary: Infer predicates for anti-join Key: CALCITE-5675 URL: https://issues.apache.org/jira/browse/CALCITE-5675 Project: Calcite Issue Type: Improvement Components: core Reporter: Stamatis Zampetakis Assignee: Stamatis Zampetakis Enhance {{RelMdPredicates}} to be able to infer predicates for anti-joins. Consider the following plans with an anti join between EMP and DEPT tables. +PulledUpPredicates+ {noformat} LogicalJoin(condition=[=($7, $8)], joinType=[anti]) LogicalFilter(condition=[=($1, 'Victor')]) LogicalTableScan(table=[[scott, EMP]]) LogicalFilter(condition=[=($1, 'CSD')]) LogicalTableScan(table=[[scott, DEPT]]) {noformat} We can infer that the {{>($1, 'Victor')}} predicate holds on the result of the join. +RightInferredPredicates+ {noformat} LogicalJoin(condition=[=($7, $8)], joinType=[anti]) LogicalFilter(condition=[>($7, 10)]) LogicalTableScan(table=[[scott, EMP]]) LogicalTableScan(table=[[scott, DEPT]]) {noformat} We can infer that the {{>($0, 10)}} predicate holds on the right relation (DEPT). -- This message was sent by Atlassian Jira (v8.20.10#820010)