summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorTom Lane2005-08-23 22:40:47 +0000
committerTom Lane2005-08-23 22:40:47 +0000
commit188c7c8ccf7c107c228ec85b2996388ac490eb49 (patch)
tree77479de1caaef76717004eff62714c23f5a8fe24 /src/include
parentd086da4bb1fcf8cd0352b5b93d109cb73a783283 (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.h5
-rw-r--r--src/include/nodes/parsenodes.h14
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 */