Mercurial > urweb
comparison tests/limit.ur @ 262:a6cb33f49366
Monoize LIMIT
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 31 Aug 2008 16:10:20 -0400 |
parents | 71bafe66dbe1 |
children | 02e1870a0516 |
comparison
equal
deleted
inserted
replaced
261:ee51e9d35c9b | 262:a6cb33f49366 |
---|---|
3 val q1 = (SELECT * FROM t LIMIT 42) | 3 val q1 = (SELECT * FROM t LIMIT 42) |
4 val q2 = fn n => (SELECT * FROM t LIMIT {n}) | 4 val q2 = fn n => (SELECT * FROM t LIMIT {n}) |
5 | 5 |
6 val q3 = (SELECT * FROM t OFFSET 3) | 6 val q3 = (SELECT * FROM t OFFSET 3) |
7 val q4 = fn n => fn m => (SELECT * FROM t LIMIT {n} OFFSET {m}) | 7 val q4 = fn n => fn m => (SELECT * FROM t LIMIT {n} OFFSET {m}) |
8 | |
9 | |
10 datatype list a = Nil | Cons of a * list a | |
11 | |
12 val r1 : transaction (list {A : int, B : string, C : float}) = | |
13 query (q2 3) | |
14 (fn fs acc => return (Cons (fs.T, acc))) | |
15 Nil | |
16 | |
17 val r2 : transaction string = | |
18 ls <- r1; | |
19 return (case ls of | |
20 Nil => "Problem" | |
21 | Cons ({B = b, ...}, _) => b) | |
22 | |
23 val main : unit -> transaction page = fn () => | |
24 s <- r2; | |
25 return <html><body> | |
26 {cdata s} | |
27 </body></html> |