From 97a00aa5ce18d3ef6e8ae03a45dcad89bf310e8b Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Fri, 17 Jul 2009 12:25:34 -0400 Subject: Testing nested queries --- tests/nested.ur | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 tests/nested.ur (limited to 'tests/nested.ur') diff --git a/tests/nested.ur b/tests/nested.ur new file mode 100644 index 00000000..a23ae2ac --- /dev/null +++ b/tests/nested.ur @@ -0,0 +1,29 @@ +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 => ({[r.T.A]}, {[r.T.B]}))) + +fun hard id = + queryX' (SELECT t.B AS N FROM t WHERE t.A = {[id]}) + (fn r => + b <- hard r.N; + return ({[id]}, {[r.N]}); {b}) + +fun doit () = + init (); + b1 <- easy (); + b2 <- hard 1; + return + {b1}
+ {b2} +
+ +fun main () = return
-- cgit v1.2.3