aboutsummaryrefslogtreecommitdiffhomepage
path: root/caching-tests/test.ur
diff options
context:
space:
mode:
authorGravatar Ziv Scully <ziv@mit.edu>2015-11-19 01:59:00 -0500
committerGravatar Ziv Scully <ziv@mit.edu>2015-11-19 01:59:00 -0500
commitbfcd84434ee997b474935aa13ae7bc1f3801d795 (patch)
tree77c947df67cba402ee17c655d8557bd1a29dfae8 /caching-tests/test.ur
parent588831a34eb1747b5468581169f6e68116ecbd62 (diff)
Support nested queries but disable UrFlow for now.
Diffstat (limited to 'caching-tests/test.ur')
-rw-r--r--caching-tests/test.ur71
1 files changed, 40 insertions, 31 deletions
diff --git a/caching-tests/test.ur b/caching-tests/test.ur
index cbfde556..ea64bb2d 100644
--- a/caching-tests/test.ur
+++ b/caching-tests/test.ur
@@ -1,9 +1,7 @@
table tab : {Id : int, Val : int, Foo : int} PRIMARY KEY Id
fun cache id =
- res <- oneOrNoRows (SELECT tab.Val
- FROM tab
- WHERE tab.Id = {[id]});
+ res <- oneOrNoRows (SELECT tab.Val FROM tab WHERE tab.Id = {[id]});
return <xml><body>
cache
{case res of
@@ -11,21 +9,32 @@ fun cache id =
| Some row => <xml>{[row.Tab.Val]}</xml>}
</body></xml>
-fun sillyRecursive {Id = id : int, FooBar = fooBar} =
- if fooBar <= 0
- then 0
- else 1 + sillyRecursive {Id = id, FooBar = fooBar - 1}
+(* fun cacheAlt id = *)
+(* res <- oneOrNoRows (SELECT Q.Id *)
+(* FROM (SELECT Tab.Id AS Id FROM tab WHERE Tab.Id = {[id]}) *)
+(* AS Q); *)
+(* return <xml><body> *)
+(* cacheAlt *)
+(* {case res of *)
+(* None => <xml>?</xml> *)
+(* | Some row => <xml>{[row.Q.Id]}</xml>} *)
+(* </body></xml> *)
-fun cacheR (r : {Id : int, FooBar : int}) =
- res <- oneOrNoRows (SELECT tab.Val
- FROM tab
- WHERE tab.Id = {[r.Id]});
- return <xml><body>
- cacheR {[r.FooBar]}
- {case res of
- None => <xml>?</xml>
- | Some row => <xml>{[row.Tab.Val]}</xml>}
- </body></xml>
+(* fun sillyRecursive {Id = id : int, FooBar = fooBar} = *)
+(* if fooBar <= 0 *)
+(* then 0 *)
+(* else 1 + sillyRecursive {Id = id, FooBar = fooBar - 1} *)
+
+(* fun cacheR (r : {Id : int, FooBar : int}) = *)
+(* res <- oneOrNoRows (SELECT tab.Val *)
+(* FROM tab *)
+(* WHERE tab.Id = {[r.Id]}); *)
+(* return <xml><body> *)
+(* cacheR {[r.FooBar]} *)
+(* {case res of *)
+(* None => <xml>?</xml> *)
+(* | Some row => <xml>{[row.Tab.Val]}</xml>} *)
+(* </body></xml> *)
(* fun cache2 id v = *)
(* res <- oneOrNoRows (SELECT tab.Val *)
@@ -60,21 +69,21 @@ fun flush id =
Changed {[id]}!
</body></xml>
-fun flash id =
- dml (UPDATE tab
- SET Foo = Val
- WHERE Id = {[id]} OR Id = {[id - 1]} OR Id = {[id + 1]});
- return <xml><body>
- Maybe changed {[id]}?
- </body></xml>
+(* fun flash id = *)
+(* dml (UPDATE tab *)
+(* SET Foo = Val *)
+(* WHERE Id = {[id]} OR Id = {[id - 1]} OR Id = {[id + 1]}); *)
+(* return <xml><body> *)
+(* Maybe changed {[id]}? *)
+(* </body></xml> *)
-fun floosh id =
- dml (UPDATE tab
- SET Id = {[id + 1]}
- WHERE Id = {[id]});
- return <xml><body>
- Shifted {[id]}!
- </body></xml>
+(* fun floosh id = *)
+(* dml (UPDATE tab *)
+(* SET Id = {[id + 1]} *)
+(* WHERE Id = {[id]} OR Id = {[id - 1]} OR Id = {[id + 1]}); *)
+(* return <xml><body> *)
+(* Shifted {[id]}! *)
+(* </body></xml> *)
(* val flush17 = *)
(* dml (UPDATE tab *)