diff options
Diffstat (limited to 'caching-tests/test.ur')
-rw-r--r-- | caching-tests/test.ur | 68 |
1 files changed, 11 insertions, 57 deletions
diff --git a/caching-tests/test.ur b/caching-tests/test.ur index 2722bcdc..8035e336 100644 --- a/caching-tests/test.ur +++ b/caching-tests/test.ur @@ -1,59 +1,9 @@ -table foo01 : {Id : int, Bar : string} PRIMARY KEY Id -table foo10 : {Id : int, Bar : string} PRIMARY KEY Id table tab : {Id : int, Val : int} PRIMARY KEY Id -fun cache01 () = - res <- oneOrNoRows (SELECT foo01.Bar FROM foo01 WHERE foo01.Id = 43); - return <xml><body> - Reading 1. - {case res of - None => <xml>?</xml> - | Some row => <xml>{[row.Foo01.Bar]}</xml>} - </body></xml> - -(* fun cache10 () = *) -(* res <- queryX (SELECT foo10.Bar FROM foo10 WHERE foo10.Id = 42) *) -(* (fn row => <xml>{[row.Foo10.Bar]}</xml>); *) -(* return <xml><body> *) -(* Reading 2. *) -(* {res} *) -(* </body></xml> *) - -(* fun cache11 () = *) -(* res <- oneOrNoRows (SELECT foo01.Bar FROM foo01 WHERE foo01.Id = 42); *) -(* bla <- oneOrNoRows (SELECT foo10.Bar FROM foo10 WHERE foo10.Id = 42); *) -(* return <xml><body> *) -(* Reading 1 and 2. *) -(* {case res of *) -(* None => <xml>?</xml> *) -(* | Some row => <xml>{[row.Foo01.Bar]}</xml>} *) -(* {case bla of *) -(* None => <xml>?</xml> *) -(* | Some row => <xml>{[row.Foo10.Bar]}</xml>} *) -(* </body></xml> *) - -fun flush01 () = - dml (INSERT INTO foo01 (Id, Bar) VALUES (42, "baz01")); - (* dml (UPDATE foo01 SET Bar = "baz01" WHERE Id = 42); *) - return <xml><body> - Flushed 1! - </body></xml> - -(* fun flush10 () = *) -(* dml (UPDATE foo10 SET Bar = "baz10" WHERE Id = 42); *) -(* return <xml><body> *) -(* Flushed 2! *) -(* </body></xml> *) - -(* fun flush11 () = *) -(* dml (UPDATE foo01 SET Bar = "baz11" WHERE Id = 42); *) -(* dml (UPDATE foo10 SET Bar = "baz11" WHERE Id = 42); *) -(* return <xml><body> *) -(* Flushed 1 and 2! *) -(* </body></xml> *) - 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> Reading {[id]}. {case res of @@ -62,12 +12,16 @@ fun cache id = </body></xml> fun flush id = - res <- oneOrNoRows (SELECT tab.Val FROM tab WHERE tab.Id = {[id]}); + res <- oneOrNoRows (SELECT tab.Val + FROM tab + WHERE tab.Id = {[id]}); (case res of - None => dml (INSERT INTO tab (Id, Val) VALUES ({[id]}, 0)) - | Some row => dml (UPDATE tab SET Val = {[row.Tab.Val + 1]} WHERE Id = {[id]})); + None => dml (INSERT INTO tab (Id, Val) + VALUES ({[id]}, 0)) + | Some row => dml (UPDATE tab + SET Val = {[row.Tab.Val + 1]} + WHERE Id = {[id]})); return <xml><body> - (* Flushed {[id]}! *) {case res of None => <xml>Initialized {[id]}!</xml> | Some row => <xml>Incremented {[id]}!</xml>} |