[
https://issues.apache.org/jira/browse/CALCITE-7070?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mihai Budiu resolved CALCITE-7070.
----------------------------------
Fix Version/s: 1.41.0
Assignee: Mihai Budiu
Resolution: Fixed
Fixed in
https://github.com/apache/calcite/commit/cf91ec8f36e1f7cf9656e2f794d8f78a2b43d88c
Thank you for the review [~jensen]
> FILTER_REDUCE_EXPRESSIONS crashes on expression BETWEEN ( NULL) AND X
> ---------------------------------------------------------------------
>
> Key: CALCITE-7070
> URL: https://issues.apache.org/jira/browse/CALCITE-7070
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.40.0
> Reporter: Mihai Budiu
> Assignee: Mihai Budiu
> Priority: Minor
> Fix For: 1.41.0
>
>
> The following test inserted in RelOptRulesTest crashes:
> {code}
> final String sql = "SELECT + 54 FROM emp WHERE NOT CAST ( CAST(empno AS
> DOUBLE) AS INTEGER ) NOT BETWEEN ( NULL ) AND 89";
> sql(sql)
> .withRule(CoreRules.FILTER_REDUCE_EXPRESSIONS)
> .check();
> {code}
> stack trace:
> {code}
> java.lang.AssertionError: value must not be null in null:INTEGER
> at org.apache.calcite.rex.RexSimplify.residue(RexSimplify.java:1968)
> at
> org.apache.calcite.rex.RexSimplify.simplifyUsingPredicates(RexSimplify.java:1909)
> at
> org.apache.calcite.rex.RexSimplify.simplifyComparison(RexSimplify.java:655)
> at
> org.apache.calcite.rex.RexSimplify.simplifyComparison(RexSimplify.java:517)
> at org.apache.calcite.rex.RexSimplify.simplify(RexSimplify.java:313)
> at
> org.apache.calcite.rex.RexSimplify.simplifyAndTerms(RexSimplify.java:694)
> at org.apache.calcite.rex.RexSimplify.simplifyAnd(RexSimplify.java:1559)
> at org.apache.calcite.rex.RexSimplify.simplify(RexSimplify.java:282)
> at org.apache.calcite.rex.RexSimplify.simplifyNot(RexSimplify.java:761)
> at org.apache.calcite.rex.RexSimplify.simplify(RexSimplify.java:286)
> at
> org.apache.calcite.rex.RexSimplify.simplifyUnknownAs(RexSimplify.java:251)
> at
> org.apache.calcite.rex.RexSimplify.simplifyPreservingType(RexSimplify.java:190)
> at
> org.apache.calcite.rel.rules.ReduceExpressionsRule.reduceExpressions(ReduceExpressionsRule.java:722)
> at
> org.apache.calcite.rel.rules.ReduceExpressionsRule$FilterReduceExpressionsRule.onMatch(ReduceExpressionsRule.java:159)
> {code}
> This test is modified from SqlLogicTest.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)