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)