From c59eef17c96d98833c98341491ff9ca2da5a06b8 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 27 May 2008 21:14:00 +0000 Subject: 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. --- src/include/commands/tablecmds.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/include/commands/tablecmds.h') 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, -- cgit v1.2.3