You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2015/12/09 21:53:10 UTC
[jira] [Created] (CALCITE-1013) Annotate UDFs to indicate that
their return is NOT NULL
Julian Hyde created CALCITE-1013:
------------------------------------
Summary: Annotate UDFs to indicate that their return is NOT NULL
Key: CALCITE-1013
URL: https://issues.apache.org/jira/browse/CALCITE-1013
Project: Calcite
Issue Type: Bug
Reporter: Julian Hyde
Assignee: Julian Hyde
If the return of a UDF is a Java object (i.e. not a primitive such as {{int}}) Calcite cannot tell whether the result is NOT NULL. To be safe, it must assume that it is nullable.
If the function returns a date-time, the java.sql.Date, java.sql.Time or java.sql.Timestamp must be converted to a Integer, Integer or Long.
This feature would add an annotation:
{code}public static @AllowNulls(false) java.sql.Date myDateUdf(int x) {
return new java.sql.Date(x);
}{code}
With the annotation, it would be safe to convert the return value to an int, int or long.
The default is equivalent to specifying {{@AllowNulls(true)}}, except if the function returns a primitive (int, long, float etc.)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)