From 8cb53654dbdb4c386369eb988062d0bbb6de725e Mon Sep 17 00:00:00 2001 From: Simon Riggs Date: Fri, 6 Apr 2012 10:21:40 +0100 Subject: Add DROP INDEX CONCURRENTLY [IF EXISTS], uses ShareUpdateExclusiveLock --- src/include/catalog/dependency.h | 1 + src/include/catalog/index.h | 2 +- src/include/nodes/parsenodes.h | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src/include') diff --git a/src/include/catalog/dependency.h b/src/include/catalog/dependency.h index 28e68c5ab59..f0eb564ebd9 100644 --- a/src/include/catalog/dependency.h +++ b/src/include/catalog/dependency.h @@ -153,6 +153,7 @@ typedef enum ObjectClass /* in dependency.c */ #define PERFORM_DELETION_INTERNAL 0x0001 +#define PERFORM_DELETION_CONCURRENTLY 0x0002 extern void performDeletion(const ObjectAddress *object, DropBehavior behavior, int flags); diff --git a/src/include/catalog/index.h b/src/include/catalog/index.h index c7f1dd285cd..3f73a6c58c2 100644 --- a/src/include/catalog/index.h +++ b/src/include/catalog/index.h @@ -63,7 +63,7 @@ extern void index_constraint_create(Relation heapRelation, bool update_pgindex, bool allow_system_table_mods); -extern void index_drop(Oid indexId); +extern void index_drop(Oid indexId, bool concurrent); extern IndexInfo *BuildIndexInfo(Relation index); diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index bc9b6bd774c..aaa950db265 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -1909,6 +1909,7 @@ typedef struct DropStmt ObjectType removeType; /* object type */ DropBehavior behavior; /* RESTRICT or CASCADE behavior */ bool missing_ok; /* skip error if object is missing? */ + bool concurrent; /* drop index concurrently? */ } DropStmt; /* ---------------------- -- cgit v1.2.3