From 9f8b222f6667f4e7dec2105ea4f5c2abdfd29dc9 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Sun, 7 Sep 2008 13:29:01 -0400 Subject: pquery working with all four types of columns --- tests/pquery.ur | 50 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 9 deletions(-) (limited to 'tests/pquery.ur') 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 - A: {cdata (show _ s.A)}
- B: {cdata (show _ s.B)}
- C: {cdata (show _ s.C)}
- D: {cdata (show _ s.D)}
+ {case s of + None => cdata "Row not found." + | Some s => + + A: {cdata (show _ s.A)}
+ B: {cdata (show _ s.B)}
+ C: {cdata (show _ s.C)}
+ D: {cdata (show _ s.D)}
+ } +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 + + A: + + + B: - + + + + + C: + + + + + D: + -- cgit v1.2.3