summaryrefslogtreecommitdiff
path: root/caching-tests
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
parent588831a34eb1747b5468581169f6e68116ecbd62 (diff)
Support nested queries but disable UrFlow for now.
Diffstat (limited to 'caching-tests')
-rw-r--r--caching-tests/test.ur71
-rw-r--r--caching-tests/test.urp4
-rw-r--r--caching-tests/test.urs7
3 files changed, 46 insertions, 36 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 *)
diff --git a/caching-tests/test.urp b/caching-tests/test.urp
index 07922e69..2cb9e711 100644
--- a/caching-tests/test.urp
+++ b/caching-tests/test.urp
@@ -1,8 +1,8 @@
database host=localhost
sql test.sql
safeGet Test/flush
-safeGet Test/flash
-safeGet Test/floosh
+# safeGet Test/flash
+# safeGet Test/floosh
# safeGet Test/flush17
minHeap 4096
diff --git a/caching-tests/test.urs b/caching-tests/test.urs
index 1fa5a9c2..d6e8dd2e 100644
--- a/caching-tests/test.urs
+++ b/caching-tests/test.urs
@@ -1,7 +1,8 @@
val cache : int -> transaction page
-val cacheR : {Id : int, FooBar : int} -> transaction page
+(* val cacheAlt : int -> transaction page *)
+(* val cacheR : {Id : int, FooBar : int} -> transaction page *)
(* val cache2 : int -> int -> transaction page *)
val flush : int -> transaction page
-val flash : int -> transaction page
-val floosh : int -> transaction page
+(* val flash : int -> transaction page *)
+(* val floosh : int -> transaction page *)
(* val flush17 : transaction page *)