v28-0001-Add-a-missing-test-to-verify-only-local-paramete.patch
text/x-patch
Filename: v28-0001-Add-a-missing-test-to-verify-only-local-paramete.patch
Type: text/x-patch
Part: 3
Patch
Format: format-patch
Series: patch v28-0001
Subject: Add a missing test to verify only-local parameter in test_decoding plugin.
| File | + | − |
|---|---|---|
| contrib/test_decoding/expected/replorigin.out | 38 | 3 |
| contrib/test_decoding/sql/replorigin.sql | 12 | 1 |
From cde7e367d411956d0b917492b1b521f948649649 Mon Sep 17 00:00:00 2001
From: Vigneshwaran C <vignesh21@gmail.com>
Date: Thu, 26 May 2022 19:29:33 +0530
Subject: [PATCH v28] Add a missing test to verify only-local parameter in
test_decoding plugin.
Add a missing test to verify only-local parameter in test_decoding plugin.
---
contrib/test_decoding/expected/replorigin.out | 41 +++++++++++++++++--
contrib/test_decoding/sql/replorigin.sql | 13 +++++-
2 files changed, 50 insertions(+), 4 deletions(-)
diff --git a/contrib/test_decoding/expected/replorigin.out b/contrib/test_decoding/expected/replorigin.out
index 2e9ef7c823..7ff2784a70 100644
--- a/contrib/test_decoding/expected/replorigin.out
+++ b/contrib/test_decoding/expected/replorigin.out
@@ -169,13 +169,48 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'inc
COMMIT
(3 rows)
+-- Clean up
+SELECT pg_replication_origin_drop('regress_test_decoding: regression_slot');
+ pg_replication_origin_drop
+----------------------------
+
+(1 row)
+
+-- Ensure that the remote origin data is filtered when only-local parameter is
+-- set.
+SELECT pg_replication_origin_create('regress_test_decoding: remote_origin');
+ pg_replication_origin_create
+------------------------------
+ 1
+(1 row)
+
+SELECT pg_replication_origin_session_setup('regress_test_decoding: remote_origin');
+ pg_replication_origin_session_setup
+-------------------------------------
+
+(1 row)
+
+INSERT INTO origin_tbl(data) VALUES ('only_local, commit_remote_origin');
+-- Remote origin data not returned when only-local parameter is set
+SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0', 'only-local', '1');
+ data
+------
+(0 rows)
+
+-- Clean up
+SELECT pg_replication_origin_session_reset();
+ pg_replication_origin_session_reset
+-------------------------------------
+
+(1 row)
+
SELECT pg_drop_replication_slot('regression_slot');
pg_drop_replication_slot
--------------------------
(1 row)
-SELECT pg_replication_origin_drop('regress_test_decoding: regression_slot');
+SELECT pg_replication_origin_drop('regress_test_decoding: remote_origin');
pg_replication_origin_drop
----------------------------
@@ -231,10 +266,10 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot_no_lsn', NULL, NUL
data
-------------------------------------------------------------------------------------
BEGIN
- table public.origin_tbl: INSERT: id[integer]:4 data[text]:'no_lsn, commit'
+ table public.origin_tbl: INSERT: id[integer]:5 data[text]:'no_lsn, commit'
COMMIT
BEGIN
- table public.origin_tbl: INSERT: id[integer]:6 data[text]:'no_lsn, commit prepared'
+ table public.origin_tbl: INSERT: id[integer]:7 data[text]:'no_lsn, commit prepared'
COMMIT
(6 rows)
diff --git a/contrib/test_decoding/sql/replorigin.sql b/contrib/test_decoding/sql/replorigin.sql
index 2e28a48777..4e34aff3b5 100644
--- a/contrib/test_decoding/sql/replorigin.sql
+++ b/contrib/test_decoding/sql/replorigin.sql
@@ -84,9 +84,20 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'inc
--but new original changes still show up
INSERT INTO origin_tbl(data) VALUES ('will be replicated');
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'only-local', '1');
+-- Clean up
+SELECT pg_replication_origin_drop('regress_test_decoding: regression_slot');
+-- Ensure that the remote origin data is filtered when only-local parameter is
+-- set.
+SELECT pg_replication_origin_create('regress_test_decoding: remote_origin');
+SELECT pg_replication_origin_session_setup('regress_test_decoding: remote_origin');
+INSERT INTO origin_tbl(data) VALUES ('only_local, commit_remote_origin');
+-- Remote origin data not returned when only-local parameter is set
+SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'skip-empty-xacts', '1', 'include-xids', '0', 'only-local', '1');
+-- Clean up
+SELECT pg_replication_origin_session_reset();
SELECT pg_drop_replication_slot('regression_slot');
-SELECT pg_replication_origin_drop('regress_test_decoding: regression_slot');
+SELECT pg_replication_origin_drop('regress_test_decoding: remote_origin');
-- Set of transactions with no origin LSNs and commit timestamps set for
-- this session.
--
2.32.0