[
https://issues.apache.org/jira/browse/CALCITE-2688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16707755#comment-16707755
]
Julian Hyde commented on CALCITE-2688:
--------------------------------------
Ah, good catch. I screwed up the messages, and then, seeing two consecutive
messages the same, I squashed the commits together. I'll do a force-push
sometime today to fix things. Then I'll mark this case fixed, with a pointer to
the actual commit.
> Improve diagnosability when return type could not be inferred.
> --------------------------------------------------------------
>
> Key: CALCITE-2688
> URL: https://issues.apache.org/jira/browse/CALCITE-2688
> Project: Calcite
> Issue Type: Improvement
> Reporter: Zoltan Haindrich
> Assignee: Zoltan Haindrich
> Priority: Major
> Fix For: 1.18.0
>
>
> Currently when the return type inferenence fails; a {{null}} is returned;
> while leads to an NPE very quickly - the resulting Exception is not
> informative at all.
> {code}
> @Test(expected = IllegalArgumentException.class)
> public void checkNoCommonReturnTypeException() {
> coalesce(vVarchar(1), vInt(2));
> }
> {code}
> example NPE:
> {code}
> java.lang.NullPointerException
> at java.util.Objects.requireNonNull(Objects.java:203)
> at org.apache.calcite.rex.RexCall.<init>(RexCall.java:59)
> at org.apache.calcite.rex.RexBuilder.makeCall(RexBuilder.java:242)
> at org.apache.calcite.rex.RexBuilder.makeCall(RexBuilder.java:254)
> at
> org.apache.calcite.test.RexProgramBuilderBase.coalesce(RexProgramBuilderBase.java:300)
> at
> org.apache.calcite.test.RexProgramTest.checkNoCommonReturnTypeException(RexProgramTest.java:753)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)