Mercurial > urweb
annotate demo/more/versioned.urs @ 2162:c39c48696393
Allow returnBlob and redirect in static protocol
Both of these functions end up returning RETURN_INDIRECTLY, which is
assumed to be an error by static.c's main. Treat it as success
instead.
author | Julian Squires <julian@cipht.net> |
---|---|
date | Mon, 13 Jul 2015 14:34:30 -0400 |
parents | 166ea3944b91 |
children |
rev | line source |
---|---|
adamc@993 | 1 functor Make(M : sig |
adamc@993 | 2 con key :: {Type} |
adamc@993 | 3 con data :: {Type} |
adamc@993 | 4 constraint key ~ data |
adamc@995 | 5 constraint [When, Version] ~ (key ++ data) |
adamc@993 | 6 |
adamc@993 | 7 val key : $(map sql_injectable key) |
adamc@993 | 8 val data : $(map (fn t => {Inj : sql_injectable_prim t, |
adamc@993 | 9 Eq : eq t}) data) |
adamc@993 | 10 |
adamc@993 | 11 val keyFolder : folder key |
adamc@993 | 12 val dataFolder : folder data |
adamc@993 | 13 end) : sig |
adamc@993 | 14 val insert : $(M.key ++ M.data) -> transaction unit |
adamc@993 | 15 val update : $(M.key ++ M.data) -> transaction unit |
adamc@993 | 16 |
adamc@993 | 17 val keys : transaction (list $M.key) |
adamc@993 | 18 val current : $M.key -> transaction (option $M.data) |
adamc@995 | 19 |
adamc@995 | 20 type version |
adamc@995 | 21 val keysAt : version -> transaction (list $M.key) |
adamc@995 | 22 val archive : version -> $M.key -> transaction (option $M.data) |
adamc@995 | 23 val updateTimes : transaction (list (version * time)) |
adamc@993 | 24 end |