summaryrefslogtreecommitdiff
path: root/tests/agg.ur
diff options
context:
space:
mode:
Diffstat (limited to 'tests/agg.ur')
-rw-r--r--tests/agg.ur14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/agg.ur b/tests/agg.ur
new file mode 100644
index 0000000..19a8644
--- /dev/null
+++ b/tests/agg.ur
@@ -0,0 +1,14 @@
+table t1 : {A : int, B : string, C : float}
+table t2 : {A : float, D : int, E : option string}
+
+val q1 : sql_query [] _ _ = (SELECT COUNT( * ) FROM t1)
+val q2 : sql_query [] _ _ = (SELECT AVG(t1.A) FROM t1)
+val q3 : sql_query [] _ _ = (SELECT SUM(t1.C) FROM t1)
+val q4 : sql_query [] _ _ = (SELECT MIN(t1.B), MAX(t1.A) FROM t1)
+val q5 : sql_query [] _ _ = (SELECT SUM(t1.A) FROM t1 GROUP BY t1.B)
+val q6 = (SELECT COUNT(t2.E) FROM t2 GROUP BY t2.D)
+
+fun main () : transaction page =
+ xml <- queryX q6 (fn r => <xml>{[r.1]};</xml>);
+ xml2 <- queryX q4 (fn r => <xml>{[r.1]}, {[r.2]};</xml>);
+ return <xml><body>{xml}<br/>{xml2}</body></xml>