Mercurial > urweb
changeset 300:cde1ec47f3af
Elaborated 'update'
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 07 Sep 2008 13:51:07 -0400 (2008-09-07) |
parents | 5f6a60b7ab00 |
children | 54282db31a9b |
files | lib/basis.urs src/urweb.grm tests/update.ur tests/update.urp |
diffstat | 4 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/basis.urs Sun Sep 07 13:47:10 2008 -0400 +++ b/lib/basis.urs Sun Sep 07 13:51:07 2008 -0400 @@ -209,8 +209,8 @@ -> dml val update : changed ::: {Type} -> unchanged ::: {Type} -> changed ~ unchanged + -> $changed -> sql_table (changed ++ unchanged) - -> $changed -> sql_exp [T = changed ++ unchanged] [] [] bool -> dml
--- a/src/urweb.grm Sun Sep 07 13:47:10 2008 -0400 +++ b/src/urweb.grm Sun Sep 07 13:51:07 2008 -0400 @@ -726,6 +726,7 @@ (EPrim (Prim.String ""), s (XML_BEGINleft, XML_ENDright))), s (XML_BEGINleft, XML_ENDright)) | LPAREN query RPAREN (query) + | LPAREN CWHERE sqlexp RPAREN (sqlexp) | UNDER (EWild, s (UNDERleft, UNDERright)) idents : ident ([ident])
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/update.ur Sun Sep 07 13:51:07 2008 -0400 @@ -0,0 +1,5 @@ +table t1 : {A : int, B : string, C : float, D : bool} + +fun main () : transaction page = + () <- dml (update {B = "6", C = 7.0} t1 (WHERE T.A = 5)); + return <html><body>Updated.</body></html>