annotate tests/agg.ur @ 1455:913d9c2f55c9
Corify Basis.unit to empty record; this is needed so that specialize
can see that they are equivalent.
author |
Karn Kallio <kkallio@eka> |
date |
Fri, 06 May 2011 16:24:45 -0430 |
parents |
601a77af0477 |
children |
|
rev |
line source |
adamc@235
|
1 table t1 : {A : int, B : string, C : float}
|
adamc@1187
|
2 table t2 : {A : float, D : int, E : option string}
|
adamc@235
|
3
|
adamc@1194
|
4 val q1 : sql_query [] _ _ = (SELECT COUNT( * ) FROM t1)
|
adamc@1194
|
5 val q2 : sql_query [] _ _ = (SELECT AVG(t1.A) FROM t1)
|
adamc@1194
|
6 val q3 : sql_query [] _ _ = (SELECT SUM(t1.C) FROM t1)
|
adamc@1194
|
7 val q4 : sql_query [] _ _ = (SELECT MIN(t1.B), MAX(t1.A) FROM t1)
|
adamc@1194
|
8 val q5 : sql_query [] _ _ = (SELECT SUM(t1.A) FROM t1 GROUP BY t1.B)
|
adamc@1194
|
9 val q6 = (SELECT COUNT(t2.E) FROM t2 GROUP BY t2.D)
|
adamc@237
|
10
|
adamc@1187
|
11 fun main () : transaction page =
|
adamc@1194
|
12 xml <- queryX q6 (fn r => <xml>{[r.1]};</xml>);
|
adamc@1194
|
13 xml2 <- queryX q4 (fn r => <xml>{[r.1]}, {[r.2]};</xml>);
|
adamc@1194
|
14 return <xml><body>{xml}<br/>{xml2}</body></xml>
|