Mercurial > urweb
view tests/nested.ur @ 1663:0577be31a435
First part of changes to avoid depending on C function call argument order of evaluation (omitting normal Ur function calls, so far)
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sat, 07 Jan 2012 15:56:22 -0500 |
parents | 8e9f2d247dba |
children |
line wrap: on
line source
table t : {A : int, B : int} fun init () = dml (DELETE FROM t WHERE TRUE); dml (INSERT INTO t (A, B) VALUES (1, 2)); dml (INSERT INTO t (A, B) VALUES (2, 3)) fun easy () = queryX' (SELECT MAX(t.A) AS M FROM t) (fn r => queryX (SELECT * FROM t WHERE t.A = {[r.M]}) (fn r => <xml>({[r.T.A]}, {[r.T.B]})</xml>)) fun hard id = queryX' (SELECT t.B AS N FROM t WHERE t.A = {[id]}) (fn r => b <- hard r.N; return <xml>({[id]}, {[r.N]}); {b}</xml>) fun doit () = init (); b1 <- easy (); b2 <- hard 1; return <xml><body> {b1}<br/> {b2} </body></xml> fun main () = return <xml><body><form><submit action={doit}/></form></body></xml>