From: Peter Eisentraut Date: Sat, 4 Mar 2017 03:14:58 +0000 (-0500) Subject: Fix parsing of DROP SUBSCRIPTION ... DROP SLOT X-Git-Tag: REL_10_BETA1~785 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=347302730dc3092143ccbc1c29b47ac3354f924b;p=postgresql Fix parsing of DROP SUBSCRIPTION ... DROP SLOT It didn't actually parse before. Reported-by: Masahiko Sawada --- diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 9713b44223..29fde33b2b 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -9196,11 +9196,13 @@ DropSubscriptionStmt: DROP SUBSCRIPTION name opt_drop_slot ; opt_drop_slot: - IDENT SLOT + DROP SLOT { - if (strcmp($1, "drop") == 0) - $$ = TRUE; - else if (strcmp($1, "nodrop") == 0) + $$ = TRUE; + } + | IDENT SLOT + { + if (strcmp($1, "nodrop") == 0) $$ = FALSE; else ereport(ERROR, diff --git a/src/test/subscription/t/001_rep_changes.pl b/src/test/subscription/t/001_rep_changes.pl index fffb3c51be..b81028aed1 100644 --- a/src/test/subscription/t/001_rep_changes.pl +++ b/src/test/subscription/t/001_rep_changes.pl @@ -179,7 +179,7 @@ $node_publisher->poll_query_until('postgres', or die "Timed out while waiting for apply to restart"; # check all the cleanup -$node_subscriber->safe_psql('postgres', "DROP SUBSCRIPTION tap_sub_renamed"); +$node_subscriber->safe_psql('postgres', "DROP SUBSCRIPTION tap_sub_renamed DROP SLOT"); $result = $node_subscriber->safe_psql('postgres', "SELECT count(*) FROM pg_subscription");