From 347302730dc3092143ccbc1c29b47ac3354f924b Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 3 Mar 2017 22:14:58 -0500 Subject: [PATCH] Fix parsing of DROP SUBSCRIPTION ... DROP SLOT It didn't actually parse before. Reported-by: Masahiko Sawada --- src/backend/parser/gram.y | 10 ++++++---- src/test/subscription/t/001_rep_changes.pl | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) 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"); -- 2.40.0