Ruben Q L created CALCITE-7758:
----------------------------------

             Summary: RexSimplify does not absorb redundant IS NOT NULL on 
non-input-ref sub-expressions in AND simplification
                 Key: CALCITE-7758
                 URL: https://issues.apache.org/jira/browse/CALCITE-7758
             Project: Calcite
          Issue Type: Improvement
          Components: core
            Reporter: Ruben Q L


The following simplification:
{noformat}
IS_NOT_NULL(x) AND (x + 1) < 10 
=>
(x + 1) < 10 
{noformat}

is correctly applied on RexSimplify (Unknown=FALSE) for RexInputRef and 
RexFieldAccess (via simplifyAnd2ForUnknownAsFalse).

However, if the expression X is e.g. a CAST, the simplification does not occur:
{noformat}
IS_NOT_NULL(CAST(a)) AND (CAST(a) + 1) < 10 
=>
unchanged; should be: (CAST(a) + 1) < 10 
{noformat}





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

Reply via email to