From f181919900b537dca8d42760c4131da446a7e00d Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Thu, 9 Apr 2009 13:59:34 -0400 Subject: More flexible foreign keying --- tests/cst.ur | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'tests/cst.ur') diff --git a/tests/cst.ur b/tests/cst.ur index 548862be..cbaa36ed 100644 --- a/tests/cst.ur +++ b/tests/cst.ur @@ -1,8 +1,9 @@ -table u : {C : int, D : int, E : int} +table u : {C : int, D : int, E : option int} PRIMARY KEY C, - CONSTRAINT U UNIQUE (C, D) + CONSTRAINT U UNIQUE (C, D), + CONSTRAINT U2 UNIQUE E -table t : {A : int, B : int} +table t : {A : int, B : int, C : option int} PRIMARY KEY B, CONSTRAINT UniA UNIQUE A, @@ -20,8 +21,10 @@ table t : {A : int, B : int} CONSTRAINT ForA FOREIGN KEY A REFERENCES u (C), CONSTRAINT ForAB FOREIGN KEY (A, B) REFERENCES u (D, C) ON DELETE CASCADE ON UPDATE RESTRICT, CONSTRAINT ForBA FOREIGN KEY (A, B) REFERENCES u (C, D) ON UPDATE NO ACTION, + CONSTRAINT ForB FOREIGN KEY B REFERENCES u (E), + CONSTRAINT ForC FOREIGN KEY C REFERENCES u (C) - CONSTRAINT Self FOREIGN KEY B REFERENCES t (B) + (*CONSTRAINT Self FOREIGN KEY B REFERENCES t (B)*) table s : {B : option int} CONSTRAINT UniB UNIQUE B -- cgit v1.2.3