Re: Pgoutput not capturing the generated columns
Shubham Khanna <khannashubham1197@gmail.com>
On Fri, Oct 25, 2024 at 3:54 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Fri, Oct 25, 2024 at 12:07 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > On Thu, Oct 24, 2024 at 8:50 PM vignesh C <vignesh21@gmail.com> wrote: > > > > > > The v42 version patch attached at [1] has the changes for the same. > > > > > > > Some more comments: > > > > 1. > +pgoutput_pubgencol_init(PGOutputData *data, List *publications, > + RelationSyncEntry *entry) > > Can we name it as check_and_init_gencol? I don't know if it is a good > idea to append a prefix pgoutput for local functions. It is primarily > used for exposed functions from pgoutput.c. I see that in a few cases > we do that for local functions as well but that is not a norm. > > A related point: > + /* Initialize publish generated columns value */ > + pgoutput_pubgencol_init(data, rel_publications, entry); > > Accordingly change this comment to something like: "Check whether to > publish to generated columns.". > Fixed. > 2. > +/* > + * Returns true if the relation has column list associated with the > + * publication, false if the relation has no column list associated with the > + * publication. > + */ > +bool > +is_column_list_publication(Publication *pub, Oid relid) > ... > ... > > How about naming the above function as has_column_list_defined()? > Also, you can write the above comment as: "Returns true if the > relation has column list associated with the publication, false > otherwise." > Fixed. > 3. > + /* > + * The column list takes precedence over pubgencols, so skip checking > + * column list publications. > + */ > + if (is_column_list_publication(pub, entry->publish_as_relid)) > > Let's change this comment to: "The column list takes precedence over > publish_generated_columns option. Those will be checked later, see > pgoutput_column_list_init." > Fixed. The v43 version patch attached at [1] has the changes for the same. [1] - https://www.postgresql.org/message-id/CAHv8RjJJJRzy83tG0nB90ivYcp7sFKTU%3D_BcQ-nUZ7VbHFwceA%40mail.gmail.com Thanks and Regards, Shubham Khanna.
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Doc: Generated column replication.
- 6252b1eaf82b 18.0 landed
-
Rename pubgencols_type to pubgencols in pg_publication.
- 75eb9766ec20 18.0 landed
-
Doc: Fix column name in pg_publication catalog.
- 117f9f328e0f 18.0 landed
-
Fix buildfarm failure introduced by commit e65dbc9927.
- b35434b134b1 18.0 landed
-
Change publication's publish_generated_columns option type to enum.
- e65dbc9927fb 18.0 landed
-
Fix \dRp+ output when describing publications with a lower server version.
- 991974bb4888 18.0 landed
-
Replicate generated columns when 'publish_generated_columns' is set.
- 7054186c4ebe 18.0 landed
-
Doc: Update the behavior of generated columns in Logical Replication.
- 5b0c46ea0932 18.0 landed
-
Replicate generated columns when specified in the column list.
- 745217a051a9 18.0 landed
-
Doc: Generated columns are skipped for logical replication.
- 7a089f6e6a14 17.0 cited