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