You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Zoltan Haindrich (JIRA)" <ji...@apache.org> on 2018/11/20 15:03:00 UTC

[jira] [Created] (CALCITE-2688) Improve diagnosability when return type could not be inferred.

Zoltan Haindrich created CALCITE-2688:
-----------------------------------------

             Summary: 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


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)