comparison tests/blob.ur @ 890:034eeb099564

Blobs tested in MySQL and SQLite
author Adam Chlipala <adamc@hcoop.net>
date Sat, 18 Jul 2009 10:27:32 -0400
parents 2c7244c066f1
children 67ebd30a2283
comparison
equal deleted inserted replaced
889:bcad392e288e 890:034eeb099564
1 sequence s 1 sequence s
2 table t : { Id : int, Nam : option string, Data : blob, Desc : string, Typ : string } 2 table t : { Id : int, Nam : option string, Data : blob, Desc : string, Typ : string }
3 3
4 fun view id = 4 fun see id =
5 r <- oneRow (SELECT t.Data, t.Typ FROM t WHERE t.Id = {[id]}); 5 r <- oneRow (SELECT t.Data, t.Typ FROM t WHERE t.Id = {[id]});
6 returnBlob r.T.Data (blessMime r.T.Typ) 6 returnBlob r.T.Data (blessMime r.T.Typ)
7 7
8 fun save r = 8 fun save r =
9 id <- nextval s; 9 id <- nextval s;
11 VALUES ({[id]}, {[fileName r.Data]}, {[fileData r.Data]}, {[r.Desc]}, {[fileMimeType r.Data]})); 11 VALUES ({[id]}, {[fileName r.Data]}, {[fileData r.Data]}, {[r.Desc]}, {[fileMimeType r.Data]}));
12 main () 12 main ()
13 13
14 and main () = 14 and main () =
15 ls <- queryX (SELECT t.Id, t.Desc, octet_length(t.Data) AS Len FROM t ORDER BY t.Desc) 15 ls <- queryX (SELECT t.Id, t.Desc, octet_length(t.Data) AS Len FROM t ORDER BY t.Desc)
16 (fn r => <xml><li><a link={view r.T.Id}>{[r.T.Desc]} ({[r.Len]})</a></li></xml>); 16 (fn r => <xml><li><a link={see r.T.Id}>{[r.T.Desc]} ({[r.Len]})</a></li></xml>);
17 return <xml><body> 17 return <xml><body>
18 {ls} 18 {ls}
19 19
20 <br/> 20 <br/>
21 21