diff options
author | Jan Wieck <JanWieck@Yahoo.com> | 1999-09-29 16:06:40 +0000 |
---|---|---|
committer | Jan Wieck <JanWieck@Yahoo.com> | 1999-09-29 16:06:40 +0000 |
commit | 1547ee017c897725221d0752af4477121524c05b (patch) | |
tree | 775616278865cba3e01e521812d045489e40fd9b /src/include/nodes/parsenodes.h | |
parent | d810338d29bff178101e72c810c9dcfa3223c6c0 (diff) |
This is part #1 for of the DEFERRED CONSTRAINT TRIGGER support.
Implements the CREATE CONSTRAINT TRIGGER and SET CONSTRAINTS commands.
TODO:
Generic builtin trigger procedures
Automatic execution of appropriate CREATE CONSTRAINT... at CREATE TABLE
Support of new trigger type in pg_dump
Swapping of huge # of events to disk
Jan
Diffstat (limited to 'src/include/nodes/parsenodes.h')
-rw-r--r-- | src/include/nodes/parsenodes.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 4bf879137ac..a736c1af67e 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parsenodes.h,v 1.80 1999/09/28 04:34:50 momjian Exp $ + * $Id: parsenodes.h,v 1.81 1999/09/29 16:06:23 wieck Exp $ * *------------------------------------------------------------------------- */ @@ -180,6 +180,13 @@ typedef struct CreateTrigStmt char *text; /* AS 'text' */ List *attr; /* UPDATE OF a, b,... (NI) or NULL */ char *when; /* WHEN 'a > 10 ...' (NI) or NULL */ + + /* The following are used for referential */ + /* integrity constraint triggers */ + bool isconstraint; /* This is an RI trigger */ + bool deferrable; /* [NOT] DEFERRABLE */ + bool initdeferred; /* INITIALLY {DEFERRED|IMMEDIATE} */ + char *constrrelname; /* opposite relation */ } CreateTrigStmt; typedef struct DropTrigStmt @@ -602,6 +609,19 @@ typedef struct LockStmt int mode; /* lock mode */ } LockStmt; + +/* ---------------------- + * SET CONSTRAINTS Statement + * ---------------------- + */ +typedef struct ConstraintsSetStmt +{ + NodeTag type; + List *constraints; + bool deferred; +} ConstraintsSetStmt; + + /***************************************************************************** * Optimizable Statements *****************************************************************************/ |