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

Robert Stupp commented on CASSANDRA-4914:
-----------------------------------------

Nice work, [~blerer] :)

* Regarding {{COUNT(\*)}}/{{COUNT(1)}} - can you change/extend that to also 
allow {{COUNT(any_column)}} or even {{COUNT(func_call)}}? The v3 patch does not 
handle this.
* Can you add a test to check whether an aggregate works against a UDF and vice 
versa? E.g. some "sin" function: {{SELECT sin(max(a)) FROM foo}} or {{SELECT 
max(sin(a)) FROM foo}}
* The aggregate functions do only return their input type. Means: overflows are 
not handled. It's not a problem for the {{BigDecimal}}/{{BigInteger}} 
implementations but for all the others. Maybe it's better to do all sum+avg on 
the {{BigDecimal}}/{{BigInteger}} types and always return them - although it's 
slower, the result will be correct. As a nice side effect it could be possible 
to reduce the number of avg/sum implementations and let them extend some few 
impls.
* The implementations of the aggregate functions are sometimes declared using 
{{public static final}} and sometimes using {{public static}} - nice to have: 
make them look equal


> Aggregation functions in CQL
> ----------------------------
>
>                 Key: CASSANDRA-4914
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4914
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Vijay
>            Assignee: Benjamin Lerer
>              Labels: cql, docs
>             Fix For: 3.0
>
>         Attachments: CASSANDRA-4914-V2.txt, CASSANDRA-4914-V3.txt, 
> CASSANDRA-4914.txt
>
>
> The requirement is to do aggregation of data in Cassandra (Wide row of column 
> values of int, double, float etc).
> With some basic agree gate functions like AVG, SUM, Mean, Min, Max, etc (for 
> the columns within a row).
> Example:
> SELECT * FROM emp WHERE empID IN (130) ORDER BY deptID DESC;                  
>                   
>  empid | deptid | first_name | last_name | salary
> -------+--------+------------+-----------+--------
>    130 |      3 |     joe    |     doe   |   10.1
>    130 |      2 |     joe    |     doe   |    100
>    130 |      1 |     joe    |     doe   |  1e+03
>  
> SELECT sum(salary), empid FROM emp WHERE empID IN (130);                      
>               
>  sum(salary) | empid
> -------------+--------
>    1110.1    |  130



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

Reply via email to