[
https://issues.apache.org/jira/browse/CALCITE-3500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16974545#comment-16974545
]
Julian Hyde commented on CALCITE-3500:
--------------------------------------
We've discussed this. To me, that message is perfectly understandable. An
assumption has been violated. A human needs to diagnose the problem.
> Validator infers incorrect type for "IS NOT DISTINCT FROM"
> ----------------------------------------------------------
>
> Key: CALCITE-3500
> URL: https://issues.apache.org/jira/browse/CALCITE-3500
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Priority: Major
>
> Validator infers incorrect type for "IS NOT DISTINCT FROM". I got the
> following output from a test:
> {noformat}
> [INFO] Running org.apache.calcite.test.fuzzer.RexProgramFuzzyTest
> 2019-11-13 13:30:16,459 [pool-1-thread-3] INFO - Using seed 44 for rex
> fuzzing
> 2019-11-13 13:30:19,869 [pool-1-thread-3] INFO - Rex fuzzing results: number
> of cases tested=2000, failed cases=0, duplicate failures=0, fuzz rate=586 per
> second
> Shrinked to 36669 chars, time remaining 19997
> Shrinked to 9704 chars, time remaining 19996
> Shrinked to 9631 chars, time remaining 19993
> Shrinked to 9287 chars, time remaining 19992
> Shrinked to 7058 chars, time remaining 19989
> Shrinked to 6507 chars, time remaining 19986
> Shrinked to 5317 chars, time remaining 19985
> Shrinked to 5191 chars, time remaining 19985
> Shrinked to 4990 chars, time remaining 19984
> Shrinked to 4844 chars, time remaining 19984
> Shrinked to 3877 chars, time remaining 19981
> Shrinked to 3628 chars, time remaining 19981
> Shrinked to 275 chars, time remaining 19980
> Shrinked to 258 chars, time remaining 19980
> Shrinked to 239 chars, time remaining 19980
> Shrinked to 188 chars, time remaining 19979
> 2019-11-13 13:30:20,616 [pool-1-thread-1] INFO - Rex fuzzing results: number
> of cases tested=406, failed cases=1, duplicate failures=0, fuzz rate=100 per
> second
> 2019-11-13 13:30:20,617 [pool-1-thread-1] INFO - Randomized test identified
> a potential defect. Feel free to fix that issue
> java.lang.IllegalStateException: Unable to simplify unknownAsFalse<(IS NOT
> DISTINCT FROM(>(+(CAST(0):INTEGER), +(0)), true), true)
> lt(isNotDistinctFrom(gt(unaryPlus(abstractCast(literal(0), tInt(true))),
> unaryPlus(literal(0))), trueLiteral), trueLiteral)
> at
> org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.checkUnknownAs(RexProgramFuzzyTest.java:228)
> at
> org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.checkUnknownAsAndShrink(RexProgramFuzzyTest.java:209)
> at
> org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.checkUnknownAs(RexProgramFuzzyTest.java:172)
> at
> org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.generateRexAndCheckTrueFalse(RexProgramFuzzyTest.java:462)
> Suppressed: org.apache.calcite.test.fuzzer.RexProgramFuzzyTest$1: seed
> -104518976443406885
> Caused by: java.lang.AssertionError
> at
> org.apache.calcite.rex.RexSimplify.validateStrongPolicy(RexSimplify.java:843)
> at org.apache.calcite.rex.RexSimplify.simplifyIs2(RexSimplify.java:682)
> at org.apache.calcite.rex.RexSimplify.simplifyIs(RexSimplify.java:653)
> at org.apache.calcite.rex.RexSimplify.simplify(RexSimplify.java:281)
> {noformat}
> I believe that it means that a particular call to {{IS NOT DISTINCT FROM}}
> has a not-null return and has nullable arguments and this contradict's the
> Strong.ANY policy. I suspect that the policy for that operator should not be
> Strong.ANY.
> Discovered by the {{validateStrongPolicy}} method added in CALCITE-3457.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)