From 37f1efc23e011927873cfc5871ac7686eac5a745 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Tue, 6 Oct 2009 13:11:03 -0400 Subject: Finalized Orm1 demo --- demo/more/orm1.ur | 14 +++++++++++--- demo/more/orm1.urp | 4 ++-- demo/more/prose | 6 +++++- 3 files changed, 18 insertions(+), 6 deletions(-) (limited to 'demo') diff --git a/demo/more/orm1.ur b/demo/more/orm1.ur index bdf6ef8c..bbbe2b00 100644 --- a/demo/more/orm1.ur +++ b/demo/more/orm1.ur @@ -11,10 +11,12 @@ structure S = Table(struct 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 @@ fun action () = 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 --git a/demo/more/orm1.urp b/demo/more/orm1.urp index 96d1a6e7..450f57a8 100644 --- a/demo/more/orm1.urp +++ b/demo/more/orm1.urp @@ -1,6 +1,6 @@ library orm -database dbname=orm1 -sql orm1.sql +database dbname=test +sql test.sql $/list orm1 diff --git a/demo/more/prose b/demo/more/prose index c2a3d281..a2765778 100644 --- a/demo/more/prose +++ b/demo/more/prose @@ -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.

    -- cgit v1.2.3