[ 
https://issues.apache.org/jira/browse/CASSANDRA-8374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14244059#comment-14244059
 ] 

Sylvain Lebresne commented on CASSANDRA-8374:
---------------------------------------------

bq. the return types, we use Java primitives

I'd rather not have the return type impacted by {{ALLOW NULLS}}. Whether we 
generate a primitive or boxed type as return type won't matter performance wise 
anyway since the return return of function ends up being boxed by Cassandra 
anyway (though {{AbstractType.decompose}}), so using a primitive type simply 
constraint the user with no benefits that I can see. So I say, let's stick to 
boxed types for return types and say that no {{ALLOW NULLS}} simply mean "If 
any of the argument is null, the function is not called but null is returned 
instead".

> Better support of null for UDF
> ------------------------------
>
>                 Key: CASSANDRA-8374
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8374
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sylvain Lebresne
>            Assignee: Robert Stupp
>             Fix For: 3.0
>
>
> Currently, every function needs to deal with it's argument potentially being 
> {{null}}. There is very many case where that's just annoying, users should be 
> able to define a function like:
> {noformat}
> CREATE FUNCTION addTwo(val int) RETURNS int LANGUAGE JAVA AS 'return val + 2;'
> {noformat}
> without having this crashing as soon as a column it's applied to doesn't a 
> value for some rows (I'll note that this definition apparently cannot be 
> compiled currently, which should be looked into).  
> In fact, I think that by default methods shouldn't have to care about 
> {{null}} values: if the value is {{null}}, we should not call the method at 
> all and return {{null}}. There is still methods that may explicitely want to 
> handle {{null}} (to return a default value for instance), so maybe we can add 
> an {{ALLOW NULLS}} to the creation syntax.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to