diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2008-05-27 21:14:00 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2008-05-27 21:14:00 +0000 |
commit | c59eef17c96d98833c98341491ff9ca2da5a06b8 (patch) | |
tree | 63aee284cfd6898264418adbd9714c01a12641cc /src/include | |
parent | ea2827116540c5d8db51da030a4c4c9d4e4ab130 (diff) | |
download | postgresql-c59eef17c96d98833c98341491ff9ca2da5a06b8.tar.gz postgresql-c59eef17c96d98833c98341491ff9ca2da5a06b8.zip |
Back-patch the 8.3 fix that prohibits TRUNCATE, CLUSTER, and REINDEX when the
current transaction has any open references to the target relation or index
(implying it has an active query using the relation). Also back-patch the
8.2 fix that prohibits TRUNCATE and CLUSTER when there are pending
AFTER-trigger events. Per suggestion from Heikki.
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/commands/tablecmds.h | 5 | ||||
-rw-r--r-- | src/include/commands/trigger.h | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/include/commands/tablecmds.h b/src/include/commands/tablecmds.h index 793f3a6c799..4fb15de071c 100644 --- a/src/include/commands/tablecmds.h +++ b/src/include/commands/tablecmds.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: tablecmds.h,v 1.13 2003/08/04 02:40:13 momjian Exp $ + * $Id: tablecmds.h,v 1.13.4.1 2008/05/27 21:14:00 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -15,6 +15,7 @@ #define TABLECMDS_H #include "nodes/parsenodes.h" +#include "utils/rel.h" extern void AlterTableAddColumn(Oid myrelid, bool recurse, ColumnDef *colDef); @@ -55,6 +56,8 @@ extern Oid DefineRelation(CreateStmt *stmt, char relkind); extern void RemoveRelation(const RangeVar *relation, DropBehavior behavior); +extern void CheckTableNotInUse(Relation rel, const char *stmt); + extern void TruncateRelation(const RangeVar *relation); extern void renameatt(Oid myrelid, diff --git a/src/include/commands/trigger.h b/src/include/commands/trigger.h index fe8f6af61d9..9a15bbdf04a 100644 --- a/src/include/commands/trigger.h +++ b/src/include/commands/trigger.h @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: trigger.h,v 1.44 2003/10/06 16:38:28 tgl Exp $ + * $Id: trigger.h,v 1.44.2.1 2008/05/27 21:14:00 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -192,6 +192,8 @@ extern void DeferredTriggerAbortXact(void); extern void DeferredTriggerSetState(ConstraintsSetStmt *stmt); +extern bool AfterTriggerPendingOnRel(Oid relid); + /* * in utils/adt/ri_triggers.c |