Some review comments for v56-0001.

======
Tests not passing?

1.
After applying only the v56-0001 patch the regression tests are not
passing. It's allowing me to create and move tables within the
'pg_conflict' schema.

--- /home/postgres/oss_postgres_misc/src/test/regress/expected/subscription.out
2026-06-25 14:53:56.238126138 +1200
+++ /home/postgres/oss_postgres_misc/src/test/regress/results/subscription.out
 2026-06-25 15:04:33.540620498 +1200
@@ -905,15 +905,12 @@
 -- Trying to create a new table manually in the pg_conflict namespace
 -- This should fail as the namespace is reserved for conflict logs tables
 CREATE TABLE pg_conflict.manual_table (id int);
-ERROR:  permission denied for schema pg_conflict
-LINE 1: CREATE TABLE pg_conflict.manual_table (id int);
-                     ^
 -- Moving an existing table into the pg_conflict namespace
 -- Users should not be able to move their own tables within this namespace
 CREATE TABLE public.test_move (id int);
 ALTER TABLE public.test_move SET SCHEMA pg_conflict;
-ERROR:  permission denied for schema pg_conflict
 DROP TABLE public.test_move;
+ERROR:  table "test_move" does not exist
 SET client_min_messages = WARNING;
 -- Clean up remaining test subscription
 ALTER SUBSCRIPTION regress_conflict_log_default DISABLE;
@@ -930,6 +927,9 @@
 DROP SUBSCRIPTION regress_conflict_protection_test;
 RESET SESSION AUTHORIZATION;
 DROP ROLE regress_subscription_user;
+ERROR:  role "regress_subscription_user" cannot be dropped because
some objects depend on it
+DETAIL:  owner of table pg_conflict.manual_table
+owner of table pg_conflict.test_move
 DROP ROLE regress_subscription_user2;
 DROP ROLE regress_subscription_user3;
 DROP ROLE regress_subscription_user_dummy;

======
src/backend/catalog/namespace.c

CheckSetNamespace:

2.
 /*
  * Common checks on switching namespaces.
  *
- * We complain if either the old or new namespaces is a temporary schema
- * (or temporary toast schema), or if either the old or new namespaces is the
- * TOAST schema.
+ * We complain if either the old or new namespaces is a temporary schema,
+ * temporary toast schema, the TOAST schema, or the conflict schema.
  */
 void
 CheckSetNamespace(Oid oldNspOid, Oid nspOid)

Function comment no longer agrees with function body. Where are the
conflict schema errors?

======
src/test/regress/sql/subscription.sql

3.
+-- Trying to create a new table manually in the pg_conflict namespace
+-- This should fail as the namespace is reserved for conflict logs tables

Typo: /conflict logs tables/conflict log tables/

======
Kind Regards,
Peter Smith.
Fujitsu Australia


Reply via email to