diff options
author | Adam Chlipala <adamc@hcoop.net> | 2008-08-28 14:48:33 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2008-08-28 14:48:33 -0400 |
commit | 508290e29047e068b9db4b02485fefd9e3ced81c (patch) | |
tree | d3fc8eec392562fbb5c15d431c4b7e3ff8d6a824 /tests/query.lac | |
parent | 6cc9b62f90276ce8535ead07a3865cd71d98a526 (diff) |
Transactions and queries, at source level
Diffstat (limited to 'tests/query.lac')
-rw-r--r-- | tests/query.lac | 16 |
1 files changed, 16 insertions, 0 deletions
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) |