From: Tom Lane Date: Mon, 27 Aug 2012 16:45:51 +0000 (-0400) Subject: Fix DROP INDEX CONCURRENTLY IF EXISTS. X-Git-Tag: REL9_2_0~39 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a6f43529ea6c3abd9207cea140ab231ac078746a;p=postgresql Fix DROP INDEX CONCURRENTLY IF EXISTS. This threw ERROR, not the expected NOTICE, if the index didn't exist. The bug was actually visible in not-as-expected regression test output, so somebody wasn't paying too close attention in commit 8cb53654dbdb4c386369eb988062d0bbb6de725e. Per report from Brendan Byrd. --- diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 7120b1e318..44d0b3c600 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -4854,7 +4854,7 @@ DropStmt: DROP drop_type IF_P EXISTS any_name_list opt_drop_behavior { DropStmt *n = makeNode(DropStmt); n->removeType = OBJECT_INDEX; - n->missing_ok = FALSE; + n->missing_ok = TRUE; n->objects = $6; n->arguments = NIL; n->behavior = $7; diff --git a/src/test/regress/expected/create_index.out b/src/test/regress/expected/create_index.out index 1f27b8e75f..999e38a679 100644 --- a/src/test/regress/expected/create_index.out +++ b/src/test/regress/expected/create_index.out @@ -2321,7 +2321,7 @@ Indexes: -- DROP INDEX CONCURRENTLY "concur_index2"; -- works DROP INDEX CONCURRENTLY IF EXISTS "concur_index2"; -- notice -ERROR: index "concur_index2" does not exist +NOTICE: index "concur_index2" does not exist, skipping -- failures DROP INDEX CONCURRENTLY "concur_index2", "concur_index3"; ERROR: DROP INDEX CONCURRENTLY does not support dropping multiple objects