From 8f8307000fcd047f3a11ddc4366e6fd386908296 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 10 Dec 2021 13:51:38 +0100 Subject: [PATCH 3/3] Test case for overlapping column lists --- src/test/subscription/t/021_column_filter.pl | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/test/subscription/t/021_column_filter.pl b/src/test/subscription/t/021_column_filter.pl index 02e05420f1..3814ad2367 100644 --- a/src/test/subscription/t/021_column_filter.pl +++ b/src/test/subscription/t/021_column_filter.pl @@ -5,7 +5,7 @@ use warnings; use PostgreSQL::Test::Cluster; use PostgreSQL::Test::Utils; -use Test::More tests => 8; +use Test::More tests => 9; # setup @@ -137,3 +137,18 @@ is($result, qq(tab1|{a,B} tab2|{a,b} tab3|{a',c'}), 'publication relation test_part removed'); + + +$node_publisher->safe_psql('postgres', "CREATE TABLE tab4 (a int PRIMARY KEY, b int, c int, d int)"); +$node_subscriber->safe_psql('postgres', "CREATE TABLE tab4 (a int PRIMARY KEY, b int, d int)"); +$node_publisher->safe_psql('postgres', "CREATE PUBLICATION pub2 FOR TABLE tab4 (a, b)"); +$node_publisher->safe_psql('postgres', "CREATE PUBLICATION pub3 FOR TABLE tab4 (a, d)"); +$node_subscriber->safe_psql('postgres', "CREATE SUBSCRIPTION sub2 CONNECTION '$publisher_connstr' PUBLICATION pub2, pub3"); +$node_publisher->wait_for_catchup('sub2'); +$node_publisher->safe_psql('postgres', "INSERT INTO tab4 VALUES (1, 11, 111, 1111)"); +$node_publisher->safe_psql('postgres', "INSERT INTO tab4 VALUES (2, 22, 222, 2222)"); +$node_publisher->wait_for_catchup('sub2'); +is($node_subscriber->safe_psql('postgres',"SELECT * FROM tab4;"), + qq(1|11|1111 +2|22|2222), + 'overlapping publications with overlapping column lists'); -- 2.34.1