# HG changeset patch # User Adam Chlipala # Date 1254849063 14400 # Node ID b825d843b22d4b78f347ba092d8a0e60563e36e1 # Parent b132f8620a66def8b6f0ef10b60b3171981f8425 Finalized Orm1 demo diff -r b132f8620a66 -r b825d843b22d demo/more/orm1.ur --- a/demo/more/orm1.ur Tue Oct 06 10:34:27 2009 -0400 +++ b/demo/more/orm1.ur Tue Oct 06 13:11:03 2009 -0400 @@ -11,10 +11,12 @@ end) fun action () = - r <- T.create {A = 3, B = "Hi"}; - T.save (r -- #B ++ {B = "Bye"}); + r1 <- T.create {A = 3, B = "Hi"}; + T.save (r1 -- #B ++ {B = "Bye"}); + r2 <- T.create {A = 4, B = "Why"}; + r3 <- T.create {A = 66, B = "Hi"}; - s <- S.create {C = r.Id, D = 45.67}; + s <- S.create {C = r1.Id, D = 45.67}; ls <- T.list; ls' <- T.search (T.eq T.cols.B.Col "Hi"); @@ -22,6 +24,12 @@ lsS <- S.list; lsS <- List.mapM (fn r => p <- S.cols.C.Parent r; return (r, p)) lsS; + T.delete r1; + T.delete r2; + T.delete r3; + + S.delete s; + return {List.mapX (fn r =>
  • {[r.A]}: {[r.B]}
  • ) ls}
    diff -r b132f8620a66 -r b825d843b22d demo/more/orm1.urp --- a/demo/more/orm1.urp Tue Oct 06 10:34:27 2009 -0400 +++ b/demo/more/orm1.urp Tue Oct 06 13:11:03 2009 -0400 @@ -1,6 +1,6 @@ library orm -database dbname=orm1 -sql orm1.sql +database dbname=test +sql test.sql $/list orm1 diff -r b132f8620a66 -r b825d843b22d demo/more/prose --- a/demo/more/prose Tue Oct 06 10:34:27 2009 -0400 +++ b/demo/more/prose Tue Oct 06 13:11:03 2009 -0400 @@ -2,6 +2,10 @@ dragList.urp -This is an Ur/Web version of the "draggable lists" demo program from Links. +

    This is an Ur/Web version of the "draggable lists" demo program from Links.

    grid1.urp + +orm1.urp + +

    Many varieties of "object-relational mapping" (ORM) can be implemented as libraries in Ur/Web, as this demo shows.