diff options
| author | Tom Lane | 2005-08-23 22:40:47 +0000 |
|---|---|---|
| committer | Tom Lane | 2005-08-23 22:40:47 +0000 |
| commit | 188c7c8ccf7c107c228ec85b2996388ac490eb49 (patch) | |
| tree | 77479de1caaef76717004eff62714c23f5a8fe24 /src/include | |
| parent | d086da4bb1fcf8cd0352b5b93d109cb73a783283 (diff) | |
Add ALTER TABLE ENABLE/DISABLE TRIGGER commands. Change pg_dump to
use these instead of its previous hack of changing pg_class.reltriggers.
Documentation is lacking, will add that later.
Patch by Satoshi Nagayasu, review and some extra work by Tom Lane.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/commands/trigger.h | 5 | ||||
| -rw-r--r-- | src/include/nodes/parsenodes.h | 14 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/include/commands/trigger.h b/src/include/commands/trigger.h index f6c1f88480b..25c0019518c 100644 --- a/src/include/commands/trigger.h +++ b/src/include/commands/trigger.h @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/commands/trigger.h,v 1.54 2005/05/30 07:20:58 neilc Exp $ + * $PostgreSQL: pgsql/src/include/commands/trigger.h,v 1.55 2005/08/23 22:40:40 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -113,6 +113,9 @@ extern void RemoveTriggerById(Oid trigOid); extern void renametrig(Oid relid, const char *oldname, const char *newname); +extern void EnableDisableTrigger(Relation rel, const char *tgname, + bool enable, bool skip_system); + extern void RelationBuildTriggers(Relation relation); extern TriggerDesc *CopyTriggerDesc(TriggerDesc *trigdesc); diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 90a282e1632..70c6743ac12 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/nodes/parsenodes.h,v 1.289 2005/08/01 20:31:15 tgl Exp $ + * $PostgreSQL: pgsql/src/include/nodes/parsenodes.h,v 1.290 2005/08/23 22:40:47 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -837,15 +837,21 @@ typedef enum AlterTableType AT_ClusterOn, /* CLUSTER ON */ AT_DropCluster, /* SET WITHOUT CLUSTER */ AT_DropOids, /* SET WITHOUT OIDS */ - AT_SetTableSpace /* SET TABLESPACE */ + AT_SetTableSpace, /* SET TABLESPACE */ + AT_EnableTrig, /* ENABLE TRIGGER name */ + AT_DisableTrig, /* DISABLE TRIGGER name */ + AT_EnableTrigAll, /* ENABLE TRIGGER ALL */ + AT_DisableTrigAll, /* DISABLE TRIGGER ALL */ + AT_EnableTrigUser, /* ENABLE TRIGGER USER */ + AT_DisableTrigUser /* DISABLE TRIGGER USER */ } AlterTableType; typedef struct AlterTableCmd /* one subcommand of an ALTER TABLE */ { NodeTag type; AlterTableType subtype; /* Type of table alteration to apply */ - char *name; /* column or constraint name to act on, or - * new owner or tablespace */ + char *name; /* column, constraint, or trigger to act on, + * or new owner or tablespace */ Node *def; /* definition of new column, column type, * index, or constraint */ Node *transform; /* transformation expr for ALTER TYPE */ |
