You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2015/06/01 09:36:18 UTC
[jira] [Commented] (CASSANDRA-9457) Empty INITCOND treated as null
in aggregate
[ https://issues.apache.org/jira/browse/CASSANDRA-9457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14567021#comment-14567021 ]
Sylvain Lebresne commented on CASSANDRA-9457:
---------------------------------------------
bq. No - these methods are just for Java UDFs. Special compose implementations for primitive types.
I'm sure I'm slow but I don't understand how that's a justification in itself. I think we should avoid silently defaulting to a non-null value like those method do and we shouldn't have to provided we only use unboxed types when {{RETURNS NULL ON NULL INPUT}} is used, .
> Empty INITCOND treated as null in aggregate
> -------------------------------------------
>
> Key: CASSANDRA-9457
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9457
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Olivier Michallat
> Assignee: Robert Stupp
> Priority: Minor
> Fix For: 2.2.0 rc1
>
>
> Given the following test data:
> {code}
> cqlsh:test> create table foo(k int, v int, primary key(k,v));
> cqlsh:test> insert into foo(k,v) values(1,1);
> cqlsh:test> insert into foo(k,v) values(1,2);
> cqlsh:test> insert into foo(k,v) values(1,3);
> {code}
> And the following aggregate definition:
> {code}
> cqlsh:test> CREATE FUNCTION cat(s text, v int)
> RETURNS NULL ON NULL INPUT
> RETURNS text
> LANGUAGE java
> AS 'return s + v;';
> cqlsh:test> CREATE AGGREGATE cats(int) SFUNC cat STYPE text INITCOND '';
> {code}
> The following should return '123', but it returns null:
> {code}
> cqlsh:test> select cats(v) from foo where k = 1;
> test.cats(v)
> ---------------
> {code}
> The empty INITCOND is treated as null, and the SFUNC is never called.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)