comparison tests/sql_option.ur @ 468:4efab85405be

Ensql'ing nullables
author Adam Chlipala <adamc@hcoop.net>
date Thu, 06 Nov 2008 15:52:13 -0500
parents 3f1b9231a37b
children
comparison
equal deleted inserted replaced
467:3f1b9231a37b 468:4efab85405be
2 2
3 fun addNull () = 3 fun addNull () =
4 dml (INSERT INTO t (O) VALUES (NULL)); 4 dml (INSERT INTO t (O) VALUES (NULL));
5 return <xml>Done</xml> 5 return <xml>Done</xml>
6 6
7 (*fun add42 () = 7 fun add3 () =
8 dml (INSERT INTO t (O) VALUES (42)); 8 dml (INSERT INTO t (O) VALUES ({Some 3}));
9 return <xml>Done</xml>*) 9 return <xml>Done</xml>
10
11 fun addN r =
12 dml (INSERT INTO t (O) VALUES ({Some (readError r.N)}));
13 return <xml>Done</xml>
10 14
11 fun main () : transaction page = 15 fun main () : transaction page =
12 xml <- queryX (SELECT * FROM t) 16 xml <- queryX (SELECT * FROM t)
13 (fn r => case r.T.O of 17 (fn r => case r.T.O of
14 None => <xml>Nada<br/></xml> 18 None => <xml>Nada<br/></xml>
15 | Some n => <xml>Num: {[n]}<br/></xml>); 19 | Some n => <xml>Num: {[n]}<br/></xml>);
16 return <xml><body> 20 return <xml><body>
17 {xml} 21 {xml}
18 22
19 <a link={addNull ()}>Add a null</a><br/> 23 <a link={addNull ()}>Add a null</a><br/>
24 <a link={add3 ()}>Add a 3</a><br/>
25 <form>
26 Add <textbox{#N}/> <submit action={addN}/>
27 </form>
20 </body></xml> 28 </body></xml>
21
22 (* <a link={add42 ()}>Add a 42</a><br/>*)