From: Bharath Rupireddy <bharath.rupireddy@enterprisedb.com>
Subject: [PATCH v7 2/4] Test ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION
Date: Tue, 16 Feb 2021 07:20:36 +0530
---
src/test/regress/expected/subscription.out | 36 ++++++++++++++++++++++
src/test/regress/sql/subscription.sql | 28 +++++++++++++++++
2 files changed, 64 insertions(+)
inline patch 1: src/test/regress/expected/subscription.out, src/test/regress/sql/subscription.sql (+64/-0 lines) download inline-1.patchdiff --git a/src/test/regress/expected/subscription.out b/src/test/regress/expected/subscription.outindex 14a430221d..d7df579069 100644--- a/src/test/regress/expected/subscription.out+++ b/src/test/regress/expected/subscription.out@@ -200,6 +200,42 @@ ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE);
regress_testsub | regress_subscription_user | f | {testpub} | f | f | off | dbname=regress_doesnotexist
(1 row)
+-- fail - publication already exists+ALTER SUBSCRIPTION regress_testsub ADD PUBLICATION testpub WITH (refresh = false);+ERROR: publication "testpub" is already present in the subscription+-- ok - add two publications into subscription+ALTER SUBSCRIPTION regress_testsub ADD PUBLICATION testpub1, testpub2 WITH (refresh = false);+-- fail - publications already exist+ALTER SUBSCRIPTION regress_testsub ADD PUBLICATION testpub1, testpub2 WITH (refresh = false);+ERROR: publications "testpub1", "testpub2" are already present in the subscription+\dRs++ List of subscriptions+ Name | Owner | Enabled | Publication | Binary | Streaming | Synchronous commit | Conninfo +-----------------+---------------------------+---------+-----------------------------+--------+-----------+--------------------+-----------------------------+ regress_testsub | regress_subscription_user | f | {testpub,testpub1,testpub2} | f | f | off | dbname=regress_doesnotexist+(1 row)++-- fail - all publications are deleted+ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub, testpub1, testpub2 WITH (refresh = false);+ERROR: subscription must contain at least one publication+-- fail - the deleted publication does not in subscription+ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub3 WITH (refresh = false);+ERROR: publication "testpub3" doesn't exist in the subscription+-- fail - the deleted publications do not in subscription+ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub3, testpub4 WITH (refresh = false);+ERROR: publications "testpub3", "testpub4" do not exist in the subscription+-- fail - do not support copy_data option+ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub1 WITH (refresh = false, copy_data = true);+ERROR: unrecognized subscription parameter: "copy_data"+-- ok - delete publications+ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub1, testpub2 WITH (refresh = false);+\dRs++ List of subscriptions+ Name | Owner | Enabled | Publication | Binary | Streaming | Synchronous commit | Conninfo +-----------------+---------------------------+---------+-------------+--------+-----------+--------------------+-----------------------------+ regress_testsub | regress_subscription_user | f | {testpub} | f | f | off | dbname=regress_doesnotexist+(1 row)+
DROP SUBSCRIPTION regress_testsub;
CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUBLICATION mypub
WITH (connect = false, create_slot = false, copy_data = false);
diff --git a/src/test/regress/sql/subscription.sql b/src/test/regress/sql/subscription.sqlindex 81e65e5e64..746a589a8e 100644--- a/src/test/regress/sql/subscription.sql+++ b/src/test/regress/sql/subscription.sql@@ -145,6 +145,34 @@ ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE);
\dRs+
+-- fail - publication already exists+ALTER SUBSCRIPTION regress_testsub ADD PUBLICATION testpub WITH (refresh = false);++-- ok - add two publications into subscription+ALTER SUBSCRIPTION regress_testsub ADD PUBLICATION testpub1, testpub2 WITH (refresh = false);++-- fail - publications already exist+ALTER SUBSCRIPTION regress_testsub ADD PUBLICATION testpub1, testpub2 WITH (refresh = false);++\dRs+++-- fail - all publications are deleted+ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub, testpub1, testpub2 WITH (refresh = false);++-- fail - the deleted publication does not in subscription+ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub3 WITH (refresh = false);++-- fail - the deleted publications do not in subscription+ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub3, testpub4 WITH (refresh = false);++-- fail - do not support copy_data option+ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub1 WITH (refresh = false, copy_data = true);++-- ok - delete publications+ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub1, testpub2 WITH (refresh = false);++\dRs++
DROP SUBSCRIPTION regress_testsub;
CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUBLICATION mypub
--
2.25.1
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
filename=v7-0003-Add-documentation-for-ALTER-SUBSCRIPTION.ADD-DROP.patch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: bharath.rupireddy@enterprisedb.com
Subject: Re: [PATCH v7 2/4] Test ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION
In-Reply-To: <no-message-id-169046@localhost>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox