Mercurial > urweb
annotate demo/more/versioned.urs @ 1726:4df4521fbd3b
Removed excess zero byte from empty pages.
Zero byte sometimes breaks http tunneling in Safari. Empty page is a "Not Modified" response for app.js
author | Vladimir Shabanov <vshabanoff@gmail.com> |
---|---|
date | Wed, 25 Apr 2012 03:07:07 +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 |