[
https://issues.apache.org/jira/browse/CALCITE-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16621662#comment-16621662
]
Vladimir Sitnikov commented on CALCITE-2573:
--------------------------------------------
{quote} the goal of simplification{quote}
The goal of simplification is also to save developer effort to avoid
duplication of error-prone {{e.equals(falseLiteral) || utils.isnull(e)}} logic
in all the rules.
I've fixed invalid conversion in
https://git-wip-us.apache.org/repos/asf?p=calcite.git;a=commit;h=8f202e9189a6c1d0abbd8da09d7643b9efd4ad40
> RexSimplify: simplify NULL to FALSE in uknownAsFalse mode
> ---------------------------------------------------------
>
> Key: CALCITE-2573
> URL: https://issues.apache.org/jira/browse/CALCITE-2573
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.17.0
> Reporter: Vladimir Sitnikov
> Assignee: Julian Hyde
> Priority: Major
> Labels: newbie
>
> {noformat}2018-09-19 20:42:41,804 [pool-1-thread-1] INFO - Randomized test
> identified a potential defect. Feel free to fix that issue
> java.lang.AssertionError: result mismatch: when applied to {}, null yielded
> NULL, and false yielded false
> at org.apache.calcite.rex.RexSimplify.verify(RexSimplify.java:1208)
> at org.apache.calcite.rex.RexSimplify.simplify(RexSimplify.java:178)
> at
> org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.checkTrueFalse(RexProgramFuzzyTest.java:169)
> at
> org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.checkTrueFalse(RexProgramFuzzyTest.java:160)
> Suppressed: org.apache.calcite.test.fuzzer.RexProgramFuzzyTest$1: seed
> -4383181468718104148{noformat}
> {noformat}postgres=# select * from (values(42)) as t where 42;
> ERROR: argument of WHERE must be type boolean, not type integer
> LINE 1: select * from (values(42)) as t where 42;
> ^
> postgres=# select * from (values(42)) as t where cast(null as int4);
> ERROR: argument of WHERE must be type boolean, not type integer
> LINE 1: select * from (values(42)) as t where cast(null as int4);
> ^
> postgres=# select * from (values(42)) as t where cast(null as bool);
> column1
> ---------
> (0 rows){noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)