From d6c682b7e25a60502dfd88433487fa1bbedf195c Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Fri, 2 Jul 2021 12:11:01 +1000 Subject: [PATCH v17 2/5] PS tmp - describe intermediate test steps Added more calls to \dRp+ to show also the intermediate steps of the row filters. --- src/test/regress/expected/publication.out | 44 ++++++++++++++++++----- src/test/regress/sql/publication.sql | 5 ++- 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/src/test/regress/expected/publication.out b/src/test/regress/expected/publication.out index 96d869dd27..30b7576138 100644 --- a/src/test/regress/expected/publication.out +++ b/src/test/regress/expected/publication.out @@ -163,10 +163,46 @@ CREATE TABLE testpub_rf_tbl4 (g text); SET client_min_messages = 'ERROR'; CREATE PUBLICATION testpub5 FOR TABLE testpub_rf_tbl1, testpub_rf_tbl2 WHERE (c <> 'test' AND d < 5); RESET client_min_messages; +\dRp+ testpub5 + Publication testpub5 + Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root +--------------------------+------------+---------+---------+---------+-----------+---------- + regress_publication_user | f | t | t | t | t | f +Tables: + "public.testpub_rf_tbl1" + "public.testpub_rf_tbl2" WHERE (((c <> 'test'::text) AND (d < 5))) + ALTER PUBLICATION testpub5 ADD TABLE testpub_rf_tbl3 WHERE (e > 1000 AND e < 2000); +\dRp+ testpub5 + Publication testpub5 + Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root +--------------------------+------------+---------+---------+---------+-----------+---------- + regress_publication_user | f | t | t | t | t | f +Tables: + "public.testpub_rf_tbl1" + "public.testpub_rf_tbl2" WHERE (((c <> 'test'::text) AND (d < 5))) + "public.testpub_rf_tbl3" WHERE (((e > 1000) AND (e < 2000))) + ALTER PUBLICATION testpub5 DROP TABLE testpub_rf_tbl2; +\dRp+ testpub5 + Publication testpub5 + Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root +--------------------------+------------+---------+---------+---------+-----------+---------- + regress_publication_user | f | t | t | t | t | f +Tables: + "public.testpub_rf_tbl1" + "public.testpub_rf_tbl3" WHERE (((e > 1000) AND (e < 2000))) + -- remove testpub_rf_tbl1 and add testpub_rf_tbl3 again (another WHERE expression) ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl3 WHERE (e > 300 AND e < 500); +\dRp+ testpub5 + Publication testpub5 + Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root +--------------------------+------------+---------+---------+---------+-----------+---------- + regress_publication_user | f | t | t | t | t | f +Tables: + "public.testpub_rf_tbl3" WHERE (((e > 300) AND (e < 500))) + -- fail - functions disallowed ALTER PUBLICATION testpub5 ADD TABLE testpub_rf_tbl4 WHERE (length(g) < 6); ERROR: functions are not allowed in publication WHERE expressions @@ -177,14 +213,6 @@ ALTER PUBLICATION testpub5 DROP TABLE testpub_rf_tbl3 WHERE (e < 27); ERROR: syntax error at or near "WHERE" LINE 1: ...R PUBLICATION testpub5 DROP TABLE testpub_rf_tbl3 WHERE (e <... ^ -\dRp+ testpub5 - Publication testpub5 - Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root ---------------------------+------------+---------+---------+---------+-----------+---------- - regress_publication_user | f | t | t | t | t | f -Tables: - "public.testpub_rf_tbl3" WHERE (((e > 300) AND (e < 500))) - DROP TABLE testpub_rf_tbl1; DROP TABLE testpub_rf_tbl2; DROP TABLE testpub_rf_tbl3; diff --git a/src/test/regress/sql/publication.sql b/src/test/regress/sql/publication.sql index 35211c56f6..5a32e1650d 100644 --- a/src/test/regress/sql/publication.sql +++ b/src/test/regress/sql/publication.sql @@ -100,15 +100,18 @@ CREATE TABLE testpub_rf_tbl4 (g text); SET client_min_messages = 'ERROR'; CREATE PUBLICATION testpub5 FOR TABLE testpub_rf_tbl1, testpub_rf_tbl2 WHERE (c <> 'test' AND d < 5); RESET client_min_messages; +\dRp+ testpub5 ALTER PUBLICATION testpub5 ADD TABLE testpub_rf_tbl3 WHERE (e > 1000 AND e < 2000); +\dRp+ testpub5 ALTER PUBLICATION testpub5 DROP TABLE testpub_rf_tbl2; +\dRp+ testpub5 -- remove testpub_rf_tbl1 and add testpub_rf_tbl3 again (another WHERE expression) ALTER PUBLICATION testpub5 SET TABLE testpub_rf_tbl3 WHERE (e > 300 AND e < 500); +\dRp+ testpub5 -- fail - functions disallowed ALTER PUBLICATION testpub5 ADD TABLE testpub_rf_tbl4 WHERE (length(g) < 6); -- fail - WHERE not allowed in DROP ALTER PUBLICATION testpub5 DROP TABLE testpub_rf_tbl3 WHERE (e < 27); -\dRp+ testpub5 DROP TABLE testpub_rf_tbl1; DROP TABLE testpub_rf_tbl2; -- 2.27.0