diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-04-09 15:30:15 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-04-09 15:30:15 -0400 |
commit | 8f29d5ead0c09b99291f729001e6aabd24d8aa8c (patch) | |
tree | cbcd34725bd070adeedbc699a79682ccb0dc3867 /src/urweb.grm | |
parent | 1852c67500474c5170a0b666ca68591dbbc29df3 (diff) |
CHECK constraints
Diffstat (limited to 'src/urweb.grm')
-rw-r--r-- | src/urweb.grm | 9 |
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) |