summaryrefslogtreecommitdiff
path: root/src/backend/tcop/utility.c
diff options
context:
space:
mode:
authorSimon Riggs <simon@2ndQuadrant.com>2012-04-06 10:21:40 +0100
committerSimon Riggs <simon@2ndQuadrant.com>2012-04-06 10:21:40 +0100
commit8cb53654dbdb4c386369eb988062d0bbb6de725e (patch)
treee422c04c90b21ae2c4180f796297a4a5ef509f38 /src/backend/tcop/utility.c
parent21cc529698c8d10c6f7c76874d4adc98d27c6187 (diff)
Add DROP INDEX CONCURRENTLY [IF EXISTS], uses ShareUpdateExclusiveLock
Diffstat (limited to 'src/backend/tcop/utility.c')
-rw-r--r--src/backend/tcop/utility.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
index ea2a6c6a082..89f78f2e82b 100644
--- a/src/backend/tcop/utility.c
+++ b/src/backend/tcop/utility.c
@@ -631,10 +631,15 @@ standard_ProcessUtility(Node *parsetree,
case T_DropStmt:
switch (((DropStmt *) parsetree)->removeType)
{
+ case OBJECT_INDEX:
+ if (((DropStmt *) parsetree)->concurrent)
+ PreventTransactionChain(isTopLevel,
+ "DROP INDEX CONCURRENTLY");
+ /* fall through */
+
case OBJECT_TABLE:
case OBJECT_SEQUENCE:
case OBJECT_VIEW:
- case OBJECT_INDEX:
case OBJECT_FOREIGN_TABLE:
RemoveRelations((DropStmt *) parsetree);
break;