view tests/tryDml.ur @ 1437:493e087f5479

Exit periodic loop if a ROLLBACK fails, to avoid infinite looping when the database server is brought down
author Adam Chlipala <adam@chlipala.net>
date Fri, 18 Mar 2011 09:12:55 -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>