[
https://issues.apache.org/jira/browse/CASSANDRA-8374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269231#comment-14269231
]
Sylvain Lebresne commented on CASSANDRA-8374:
---------------------------------------------
bq. I'm thinking of a different scenario – where my function explicitly handles
null, e.g. by turning it into a "default" value, but this behavior is
suppressed by the function short-circuiting to null
Fair enough, I'll admit I wasn't specifically thinking of that scenario. That
said, if you do write a function explicitly handling null, presumably you'll
test that case right away and even if you're surprised by the result, I
wouldn't expect it to take you a terribly long time to figure it out (by
checking the doc for instance). Though that's probably wishful thinking on my
part. I'm still also bugged by the idea of not using a default that would be
right 99% of the time because it may suprise a few users.
But anyway, I understand the concerns (I just happen to not be entirely
convinced they would be such a big deal in practice, but you seem to be
convinced otherwise so I'm willing to accept that I'm probably wrong) and so as
I said above, my preference goes to forcing an explicit choice.
> 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
>
> Attachments: 8473-1.txt, 8473-2.txt
>
>
> 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)