summaryrefslogtreecommitdiff
path: root/tests/pquery.ur
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2008-09-07 13:29:01 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2008-09-07 13:29:01 -0400
commit9f8b222f6667f4e7dec2105ea4f5c2abdfd29dc9 (patch)
tree90104da9ab622189caffe5a38bddcb8bfe797233 /tests/pquery.ur
parent4a627a550cb54c18cb16cc0ad852e6a0bbc59c31 (diff)
pquery working with all four types of columns
Diffstat (limited to 'tests/pquery.ur')
-rw-r--r--tests/pquery.ur50
1 files changed, 41 insertions, 9 deletions
diff --git a/tests/pquery.ur b/tests/pquery.ur
index ea53f7c9..eb240909 100644
--- a/tests/pquery.ur
+++ b/tests/pquery.ur
@@ -1,19 +1,51 @@
table t1 : {A : int, B : string, C : float, D : bool}
-fun lookup (inp : {B : string}) =
- s <- query (SELECT * FROM t1 WHERE t1.B = {inp.B})
- (fn fs _ => return fs.T1)
- {A = 0, B = "Couldn't find it!", C = 0.0, D = False};
+fun display (q : sql_query [T1 = [A = int, B = string, C = float, D = bool]] []) =
+ s <- query q
+ (fn fs _ => return (Some fs.T1))
+ None;
return <html><body>
- A: {cdata (show _ s.A)}<br/>
- B: {cdata (show _ s.B)}<br/>
- C: {cdata (show _ s.C)}<br/>
- D: {cdata (show _ s.D)}<br/>
+ {case s of
+ None => cdata "Row not found."
+ | Some s =>
+ <body>
+ A: {cdata (show _ s.A)}<br/>
+ B: {cdata (show _ s.B)}<br/>
+ C: {cdata (show _ s.C)}<br/>
+ D: {cdata (show _ s.D)}<br/>
+ </body>}
</body></html>
+fun lookupA (inp : {A : string}) =
+ display (SELECT * FROM t1 WHERE t1.A = {readError _ inp.A : int})
+
+fun lookupB (inp : {B : string}) =
+ display (SELECT * FROM t1 WHERE t1.B = {inp.B})
+
+fun lookupC (inp : {C : string}) =
+ display (SELECT * FROM t1 WHERE t1.C = {readError _ inp.C : float})
+
+fun lookupD (inp : {D : string}) =
+ display (SELECT * FROM t1 WHERE t1.D = {readError _ inp.D : bool})
+
fun main () : transaction page = return <html><body>
<lform>
+ A: <textbox{#A}/>
+ <submit action={lookupA}/>
+ </lform>
+
+ <lform>
B: <textbox{#B}/>
- <submit action={lookup}/>
+ <submit action={lookupB}/>
+ </lform>
+
+ <lform>
+ C: <textbox{#C}/>
+ <submit action={lookupC}/>
+ </lform>
+
+ <lform>
+ D: <textbox{#D}/>
+ <submit action={lookupD}/>
</lform>
</body></html>