[ 
https://issues.apache.org/jira/browse/CALCITE-7041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17953941#comment-17953941
 ] 

Mihai Budiu commented on CALCITE-7041:
--------------------------------------

Beware that reordering predicates may change the semantics in subtle ways if 
there is a predicate which causes a runtime exception.

For example a > 2 AND 1/0 = 1 AND a < 2 AND A IS NOT NULL.

This is not the same as FALSE.

> Simplify simple contradicting expressions
> -----------------------------------------
>
>                 Key: CALCITE-7041
>                 URL: https://issues.apache.org/jira/browse/CALCITE-7041
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: Sergey Nuyanzin
>            Priority: Major
>
> For instance
> {code:sql}
> a > b AND b > a AND a IS NOT NULL AND b IS NOT NULL
> {code}
> or
> {code:sql}
> a >= b AND b > a AND a IS NOT NULL AND b IS NOT NULL
> {code}
> or
> {code:sql}
> a > b AND b >= a AND a IS NOT NULL AND b IS NOT NULL
> {code}
> could be simplified to {{FALSE}}
> and
> {code:sql}
> a >= b AND b >= a AND a IS NOT NULL AND b IS NOT NULL
> {code}
> could be simplified to {{a = b}}
> Probably there is something else



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to