Merge branch 'cassandra-2.2' into trunk

Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7dff1501
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7dff1501
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7dff1501

Branch: refs/heads/trunk
Commit: 7dff15011a64d296c3d2f8488fc17ab42974f873
Parents: 056115f 01f3d0a
Author: Robert Stupp <[email protected]>
Authored: Sun Jul 12 21:20:18 2015 +0200
Committer: Robert Stupp <[email protected]>
Committed: Sun Jul 12 21:20:18 2015 +0200

----------------------------------------------------------------------
 .../cassandra/cql3/functions/AggregateFcts.java | 160 +++++++++++++++++++
 .../validation/operations/AggregationTest.java  |  45 ++++--
 2 files changed, 192 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7dff1501/src/java/org/apache/cassandra/cql3/functions/AggregateFcts.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/cql3/functions/AggregateFcts.java
index 8c36864,1b22da6..153e5eb
--- a/src/java/org/apache/cassandra/cql3/functions/AggregateFcts.java
+++ b/src/java/org/apache/cassandra/cql3/functions/AggregateFcts.java
@@@ -32,42 -37,6 +32,46 @@@ import org.apache.cassandra.db.marshal.
   */
  public abstract class AggregateFcts
  {
 +    public static Collection<AggregateFunction> all()
 +    {
 +        Collection<AggregateFunction> functions = new ArrayList<>();
 +
 +        functions.add(countRowsFunction);
 +
 +        // sum for primitives
++        functions.add(sumFunctionForByte);
++        functions.add(sumFunctionForShort);
 +        functions.add(sumFunctionForInt32);
 +        functions.add(sumFunctionForLong);
 +        functions.add(sumFunctionForFloat);
 +        functions.add(sumFunctionForDouble);
 +        functions.add(sumFunctionForDecimal);
 +        functions.add(sumFunctionForVarint);
 +
 +        // avg for primitives
++        functions.add(avgFunctionForByte);
++        functions.add(avgFunctionForShort);
 +        functions.add(avgFunctionForInt32);
 +        functions.add(avgFunctionForLong);
 +        functions.add(avgFunctionForFloat);
 +        functions.add(avgFunctionForDouble);
 +        functions.add(avgFunctionForDecimal);
 +        functions.add(avgFunctionForVarint);
 +
 +        // count, max, and min for all standard types
 +        for (CQL3Type type : CQL3Type.Native.values())
 +        {
 +            if (type != CQL3Type.Native.VARCHAR) // varchar and text both 
mapping to UTF8Type
 +            {
 +                
functions.add(AggregateFcts.makeCountFunction(type.getType()));
 +                functions.add(AggregateFcts.makeMaxFunction(type.getType()));
 +                functions.add(AggregateFcts.makeMinFunction(type.getType()));
 +            }
 +        }
 +
 +        return functions;
 +    }
 +
      /**
       * The function used to count the number of rows of a result set. This 
function is called when COUNT(*) or COUNT(1)
       * is specified.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7dff1501/test/unit/org/apache/cassandra/cql3/validation/operations/AggregationTest.java
----------------------------------------------------------------------

Reply via email to