Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Remove predicates from Filter if they can be proved to be always true or false. For example, the query
select * from (select * from emp where deptno > 10) where empno > 3 and deptno > 5
can be simplified to
select * from (select * from emp where deptno > 10) where empno > 3
because deptno > 5 can be proved to be always true, due the predicate deptno > 10 on its input relational expression.
Implement this by expanding the capabilities of FilterReduceExpressionsRule.
Attachments
Issue Links
- is related to
-
CALCITE-2257 Combination of predicates can be proved to be always true
- Closed
- relates to
-
CALCITE-2074 Simplification of point ranges that are open above or below yields wrong results
- Closed
-
CALCITE-2205 JoinPushTransitivePredicatesRule should not create a Filter on top of an equivalent Filter
- Closed