diff options
-rw-r--r-- | src/urweb.grm | 9 | ||||
-rw-r--r-- | tests/delete.ur | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/urweb.grm b/src/urweb.grm index c67035de..61e8d179 100644 --- a/src/urweb.grm +++ b/src/urweb.grm @@ -758,6 +758,15 @@ eterm : LPAREN eexp RPAREN (#1 eexp, s (LPARENleft, RPARENright)) in (EApp (e, sqlexp), loc) end) + | LPAREN DELETE FROM texp CWHERE sqlexp RPAREN + (let + val loc = s (LPARENleft, RPARENright) + + val e = (EVar (["Basis"], "delete"), loc) + val e = (EApp (e, texp), loc) + in + (EApp (e, sqlexp), loc) + end) | UNDER (EWild, s (UNDERleft, UNDERright)) diff --git a/tests/delete.ur b/tests/delete.ur index 45df15ab..e2109f61 100644 --- a/tests/delete.ur +++ b/tests/delete.ur @@ -1,5 +1,5 @@ table t1 : {A : int, B : string, C : float, D : bool} fun main () : transaction page = - () <- dml (delete t1 (WHERE T.A = 5)); + () <- dml (DELETE FROM t1 WHERE T.A = 5); return <html><body>Deleted.</body></html> |