diff --git a/src/main/scala/minisql/Quoted.scala b/src/main/scala/minisql/Quoted.scala index 416b0fd..fda783f 100644 --- a/src/main/scala/minisql/Quoted.scala +++ b/src/main/scala/minisql/Quoted.scala @@ -176,7 +176,9 @@ object Query { Aggregation(AggregationOperator.size, e) inline def min: Agg[Long] = Aggregation(AggregationOperator.min, e) - inline def max: Agg[Long] = Aggregation(AggregationOperator.min, e) + + inline def max: Agg[Long] = Aggregation(AggregationOperator.max, e) + } } diff --git a/src/test/scala/minisql/context/sql/MirrorSqlContextSuite.scala b/src/test/scala/minisql/context/sql/MirrorSqlContextSuite.scala index a356236..afc717f 100644 --- a/src/test/scala/minisql/context/sql/MirrorSqlContextSuite.scala +++ b/src/test/scala/minisql/context/sql/MirrorSqlContextSuite.scala @@ -154,4 +154,27 @@ class MirrorSqlContextSuite extends munit.FunSuite { ) } + test("Aggregations - size") { + val o = testContext.io(Foos.size) + assertEquals( + o.sql, + "SELECT COUNT(*) FROM foo x" + ) + } + + test("Aggregations - min") { + val o = testContext.io(Foos.map(f => f.age).min) + assertEquals( + o.sql, + "SELECT MIN(f.age) FROM foo f" + ) + } + + test("Aggregations - max") { + val o = testContext.io(Foos.map(f => f.age).max) + assertEquals( + o.sql, + "SELECT MAX(f.age) FROM foo f" + ) + } }