[ https://issues.apache.org/jira/browse/CASSANDRA-8053?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14240204#comment-14240204 ]
Tyler Hobbs commented on CASSANDRA-8053: ---------------------------------------- Review comments (I haven't tested anything yet :) ): * AbstractFunction.usesFunction(): check for match uses endsWith() instead of equals() * Functions.addFunction(): when would get get a null function? That should probably be handled elsewhere, if possible. * UDAggregate: ** resolveScalar(): handle null names before calling resolveScalar() instead of inside ** fromSchema(): when you use curlies on the "if" or "else", use them on the other * UDFunction: ** The o.a.c.db.* import got expanded ** Indentation of params on create() and createBrokenFunction() are off now * CreateAggregateStatement: ** prepareKeyspace(): Change IRE message to: "Functions must be fully qualified with a keyspace name if a keyspace is not set for the session" ** Keep whitespace in between '+' operators for string concatenation ** announceMigration(): checks for sfunc and finalfunc should include arg types in the error messages * CreateFunctionStatement: ** Error message for replacing aggregate with scalar is incorrect * DropAggregateStatement: ** Class-level javadoc is incorrect ** Same note about IRE error message as CreateAggregate ** validate() javadoc can be deleted * DefsTables: ** Indentation erroneously changed on Maps.difference() call * AggregationTest: ** KS_FOO can be local to the single method that uses it ** testDropStatements(): test DROP IF EXISTS at the end, test ambiguous drop with overloads ** Add test for INITCOND with bad type and null (which _should_ work) ** Add tests for bad sfunc arg types, bad return type ** Add test for bad finalfunc arg type, bad return type ** Add test for sfunc not existing, finalfunc not existing ** Add test for error during sfunc, finalfunc > Support for user defined aggregate functions > -------------------------------------------- > > Key: CASSANDRA-8053 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8053 > Project: Cassandra > Issue Type: New Feature > Reporter: Robert Stupp > Assignee: Robert Stupp > Labels: cql, udf > Fix For: 3.0 > > Attachments: 8053v1.txt, 8053v2.txt > > > CASSANDRA-4914 introduces aggregate functions. > This ticket is about to decide how we can support "user defined aggregate > functions". UD aggregate functions should be supported for all UDF flavors > (class, java, jsr223). > Things to consider: > * Special implementations for each scripting language should be omitted > * No exposure of internal APIs (e.g. {{AggregateFunction}} interface) > * No need for users to deal with serializers / codecs -- This message was sent by Atlassian JIRA (v6.3.4#6332)