aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/trigger.c
diff options
context:
space:
mode:
authorJan Wieck <JanWieck@Yahoo.com>2000-02-04 23:45:04 +0000
committerJan Wieck <JanWieck@Yahoo.com>2000-02-04 23:45:04 +0000
commit582ec175c9a858fb9f332b9d4adedc3f998ddf92 (patch)
tree8742691b77f7e8cee0225e7cae5bb60234293b9f /src/backend/commands/trigger.c
parent7932f86c5310f8dcd1bbbdfaa463516a455433c9 (diff)
downloadpostgresql-582ec175c9a858fb9f332b9d4adedc3f998ddf92.tar.gz
postgresql-582ec175c9a858fb9f332b9d4adedc3f998ddf92.zip
Small bugfix for DROP TABLE if table is self-referenced by
a FOREIGN KEY constraint. Jan
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r--src/backend/commands/trigger.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
index 04c20e1827d..f83fd9462c2 100644
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.57 2000/02/04 18:49:31 wieck Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.58 2000/02/04 23:45:04 wieck Exp $
*
*-------------------------------------------------------------------------
*/
@@ -372,6 +372,13 @@ RelationRemoveTriggers(Relation rel)
heap_endscan(tgscan);
+ /* ----------
+ * Need to bump it here so the following doesn't see
+ * the already deleted triggers again for a self-referencing
+ * table.
+ * ----------
+ */
+ CommandCounterIncrement();
/* ----------
* Also drop all constraint triggers referencing this relation
@@ -388,6 +395,7 @@ RelationRemoveTriggers(Relation rel)
DropTrigStmt stmt;
pg_trigger = (Form_pg_trigger) GETSTRUCT(tup);
+
refrel = heap_open(pg_trigger->tgrelid, NoLock);
stmt.relname = pstrdup(RelationGetRelationName(refrel));