From 508290e29047e068b9db4b02485fefd9e3ced81c Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Thu, 28 Aug 2008 14:48:33 -0400 Subject: Transactions and queries, at source level --- tests/query.lac | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 tests/query.lac (limited to 'tests') diff --git a/tests/query.lac b/tests/query.lac new file mode 100644 index 00000000..2caf0412 --- /dev/null +++ b/tests/query.lac @@ -0,0 +1,16 @@ +table t1 : {A : int, B : string, C : float} +table t2 : {A : float, D : int} + +datatype list a = Nil | Cons of a * list a + +val q1 = (SELECT * FROM t1) +val r1 : transaction (list {A : int, B : string, C : float}) = + query q1 + (fn fs _ acc => return (Cons (fs.T1, acc))) + Nil + +val r2 : transaction int = + ls <- r1; + return (case ls of + Nil => 0 + | Cons ({A = a, ...}, _) => a) -- cgit v1.2.3