Vladimir Sitnikov created CALCITE-4516:
------------------------------------------
Summary: ...had non-nullable type BOOLEAN, and it was optimized
to..that has nullable type BOOLEAN
Key: CALCITE-4516
URL: https://issues.apache.org/jira/browse/CALCITE-4516
Project: Calcite
Issue Type: Sub-task
Components: core
Reporter: Vladimir Sitnikov
Fix For: 1.27.0
{noformat}
COALESCE(SEARCH(CASE(true, -1076415185, null:INTEGER), Sarg[(0..+∞); NULL AS
TRUE]), AND(IS TRUE(?0.notNullBool0), =(?0.bool0, ?0.bool0), SEARCH(0,
Sarg[4])))
coalesce(rexBuilder.makeCall(SqlStdOperatorTable.SEARCH, case_(trueLiteral,
literal(-1076415185), nullInt), literal(Sarg[(0..+∞); NULL AS TRUE])),
and(isTrue(vBoolNotNull(0)), eq(vBool(0), vBool(0)),
rexBuilder.makeCall(SqlStdOperatorTable.SEARCH, literal(0), literal(Sarg[4]))))
had non-nullable type BOOLEAN, and it was optimized to >(CASE(true,
-1076415185, null:INTEGER), 0)
gt(case_(trueLiteral, literal(-1076415185), nullInt), literal(0)) that has
nullable type BOOLEAN
org.opentest4j.AssertionFailedError: COALESCE(SEARCH(CASE(true, -1076415185,
null:INTEGER), Sarg[(0..+∞); NULL AS TRUE]), AND(IS TRUE(?0.notNullBool0),
=(?0.bool0, ?0.bool0), SEARCH(0, Sarg[4])))
coalesce(rexBuilder.makeCall(SqlStdOperatorTable.SEARCH, case_(trueLiteral,
literal(-1076415185), nullInt), literal(Sarg[(0..+∞); NULL AS TRUE])),
and(isTrue(vBoolNotNull(0)), eq(vBool(0), vBool(0)),
rexBuilder.makeCall(SqlStdOperatorTable.SEARCH, literal(0), literal(Sarg[4]))))
had non-nullable type BOOLEAN, and it was optimized to >(CASE(true,
-1076415185, null:INTEGER), 0)
gt(case_(trueLiteral, literal(-1076415185), nullInt), literal(0)) that has
nullable type BOOLEAN
at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:39)
at org.junit.jupiter.api.Assertions.fail(Assertions.java:109)
at
org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.checkUnknownAs(RexProgramFuzzyTest.java:306)
at
org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.checkUnknownAsAndShrink(RexProgramFuzzyTest.java:173)
at
org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.checkUnknownAs(RexProgramFuzzyTest.java:167)
at
org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.generateRexAndCheckTrueFalse(RexProgramFuzzyTest.java:457)
at
org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.runRexFuzzer(RexProgramFuzzyTest.java:389)
at
org.apache.calcite.test.fuzzer.RexProgramFuzzyTest.testFuzzy(RexProgramFuzzyTest.java:360)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at
org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:675)
at
org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at
org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:125)
at
org.junit.jupiter.engine.extension.TimeoutInvocation.proceed(TimeoutInvocation.java:46)
at
org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:139)
at
org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:131)
at
org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:81)
at
org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
at
org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
at
org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:104)
at
org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:62)
at
org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:43)
at
org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:35)
at
org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
at
org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:202)
at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:198)
at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)
at
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135)
at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
at
org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
at
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
at
org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
at
org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:171)
at
java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
at
java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at
java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016)
at
java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665)
at
java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598)
at
java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Suppressed: org.apache.calcite.test.fuzzer.RexProgramFuzzyTest$1: seed
-498682129549544641
{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)