cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-8374) Better support of null for UDF
Date Fri, 12 Dec 2014 08:11:13 GMT


Sylvain Lebresne commented on CASSANDRA-8374:

I'm not exactly sure how a default value will work in practice (especially in the example
you gave above where it's only on the first argument) so I'd much rather left that out of
this ticket (and frankly, I'd rather left it out completely at least for now: let's be careful
to not feature creep UDF before we have even released the first version).

As for the {{ALLOW NULLS}} flag, I was initially leaning towards a single per-function one
for the conceptual simplicity (and I'm not sure very fine grained control on this is really
that useful in practice). Not a terribly strong preference however.

> Better support of null for UDF
> ------------------------------
>                 Key: CASSANDRA-8374
>                 URL:
>             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
> {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

View raw message