Mercurial > urweb
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 |