public inbox for [email protected]  
help / color / mirror / Atom feed
From: Hüseyin Demir <[email protected]>
To: [email protected]
Cc: Jonathan Gonzalez V. <[email protected]>
Subject: Re: Add pg_get_publication_ddl function
Date: Fri, 27 Feb 2026 07:53:27 +0000
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>

Hi,

Thanks for the patch. I reviewed v1 and found a few issues that need
to be addressed before commit.

1. In pg_do_publication_ddl(), schemaname is initialized to NULL before
   the loop but never reset per iteration. When the first table is in a
   non-default schema and the second is in public, the public table
   incorrectly inherits the previous schema prefix:
```
CREATE SCHEMA s1;
CREATE TABLE s1.t1 (id int);
CREATE TABLE public.t2 (id int);
CREATE PUBLICATION p FOR TABLE s1.t1, public.t2;
SELECT pg_get_publication_ddl('p');
-- Got:  ... FOR TABLE s1.t1, s1.t2   ← WRONG
-- Want: ... FOR TABLE s1.t1, t2
```

2. FOR TABLE ONLY is silently dropped, changing semantics for publications
   on tables with inheritance or partitioning:
```
  CREATE PUBLICATION p FOR TABLE ONLY t (col) WHERE (col > 0);
  SELECT pg_get_publication_ddl('p');
  -- Got:  FOR TABLE t(col) WHERE (col > 0)  WITH ...
  -- Want: FOR TABLE ONLY t(col) WHERE (col > 0) WITH ...
 
```

As already mentioned there are also typos in the code. Otherwise, the idea and way lgtm.

Regards.

reply

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: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Add pg_get_publication_ddl function
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox