summaryrefslogtreecommitdiff
path: root/src/urweb.grm
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-04-09 15:30:15 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-04-09 15:30:15 -0400
commitf4227a1adad5be299eb80dc4e5baab4ea46169b1 (patch)
treecbcd34725bd070adeedbc699a79682ccb0dc3867 /src/urweb.grm
parentda10cbf6f232203ba7c798906ba8101078e2a9c9 (diff)
CHECK constraints
Diffstat (limited to 'src/urweb.grm')
-rw-r--r--src/urweb.grm9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/urweb.grm b/src/urweb.grm
index 50fb6cb3..7e1f6757 100644
--- a/src/urweb.grm
+++ b/src/urweb.grm
@@ -210,7 +210,7 @@ datatype prop_kind = Delete | Update
| INSERT | INTO | VALUES | UPDATE | SET | DELETE | NULL | IS
| CURRENT_TIMESTAMP
| NE | LT | LE | GT | GE
- | CCONSTRAINT | UNIQUE | PRIMARY | FOREIGN | KEY | ON | NO | ACTION | RESTRICT | CASCADE | REFERENCES
+ | CCONSTRAINT | UNIQUE | CHECK | PRIMARY | FOREIGN | KEY | ON | NO | ACTION | RESTRICT | CASCADE | REFERENCES
%nonterm
file of decl list
@@ -511,6 +511,13 @@ cst : UNIQUE tnames (let
(EDisjointApp e, loc)
end)
+ | CHECK sqlexp (let
+ val loc = s (CHECKleft, sqlexpright)
+ in
+ (EApp ((EVar (["Basis"], "check", Infer), loc),
+ sqlexp), loc)
+ end)
+
| FOREIGN KEY tnames REFERENCES texp LPAREN tnames' RPAREN pmodes
(let
val loc = s (FOREIGNleft, pmodesright)