cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-5910) Most CQL3 functions should handle null gracefully
Date Wed, 21 Aug 2013 13:47:51 GMT


Jonathan Ellis commented on CASSANDRA-5910:

I don't think turning RTE into IRE is correct -- if it passes validation, it should execute,
and if it doesn't, it's a bug and not an invalid request.

Where does this leave varcharasblob?  (Wish we'd gone with textasblob, FTR.)
> Most CQL3 functions should handle null gracefully
> -------------------------------------------------
>                 Key: CASSANDRA-5910
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 1.2.9
>         Attachments: 5910.txt
> Currently, we don't allow null parameters for functions. So
> {noformat}
> UPDATE test SET d=dateOf(null) WHERE k=0
> {noformat}
> is basically an invalid query. Unfortunately, there's at least one case where we don't
validate correctly, namely if we do:
> {noformat}
> SELECT k, dateOf(t) FROM test
> {noformat}
> In that case, if for any of the row {{t}} is null, we end up with a server side NPE.
But more importantly, throwing an InvalidException in that case would be pretty inconvenient
and actually somewhat wrong since the query is not invalid in itself. So, at least in that
latter case, we want {{dateOf(t) == null}} when {{t == null}}. And if we do that, I suggest
making it always the case (i.e. make the first query valid but assigning {{null}} to {{d}}).

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message