view tests/tryDml.ur @ 1451:b6ce8ef0ea88

Before allowing an indirect return, check (dynamically, for now) that we aren't in an RPC handler
author Adam Chlipala <adam@chlipala.net>
date Sun, 17 Apr 2011 13:43:00 -0400
parents 929981850d9d
children
line wrap: on
line source
table t : {Id : int}
  PRIMARY KEY Id

fun doStuff () =
    dml (INSERT INTO t (Id) VALUES (0));
    o1 <- tryDml (INSERT INTO t (Id) VALUES (0));
    dml (INSERT INTO t (Id) VALUES (1));
    o2 <- tryDml (INSERT INTO t (Id) VALUES (2));
    dml (INSERT INTO t (Id) VALUES (3));
    o3 <- tryDml (INSERT INTO t (Id) VALUES (3));
    return <xml>{[o1]}; {[o2]}; {[o3]}</xml>

fun main () = return <xml><body>
  <form> <submit action={doStuff}/> </form>
</body></xml>