diff --git a/src/main/scala/minisql/Quoted.scala b/src/main/scala/minisql/Quoted.scala index fda783f..42feb64 100644 --- a/src/main/scala/minisql/Quoted.scala +++ b/src/main/scala/minisql/Quoted.scala @@ -179,6 +179,8 @@ object Query { inline def max: Agg[Long] = Aggregation(AggregationOperator.max, e) + inline def sum: Agg[Option[E]] = Aggregation(AggregationOperator.sum, e) + } } diff --git a/src/test/scala/minisql/context/sql/MirrorSqlContextSuite.scala b/src/test/scala/minisql/context/sql/MirrorSqlContextSuite.scala index afc717f..a6d2d6a 100644 --- a/src/test/scala/minisql/context/sql/MirrorSqlContextSuite.scala +++ b/src/test/scala/minisql/context/sql/MirrorSqlContextSuite.scala @@ -177,4 +177,12 @@ class MirrorSqlContextSuite extends munit.FunSuite { "SELECT MAX(f.age) FROM foo f" ) } + + test("Aggregations - max") { + val o = testContext.io(Foos.map(f => f.age).sum) + assertEquals( + o.sql, + "SELECT SUM(f.age) FROM foo f" + ) + } }