Re: Improve the error message for logical replication of regular column to generated column.

vignesh C <vignesh21@gmail.com>

From: vignesh C <vignesh21@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>, Shubham Khanna <khannashubham1197@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-11-27T06:45:27Z
Lists: pgsql-hackers

Attachments

On Wed, 27 Nov 2024 at 08:50, Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Wed, Nov 27, 2024 at 3:30 AM Peter Smith <smithpb2250@gmail.com> wrote:
> >
> > Hi, here are some review comments for patch v7-0001.
> >
> > ======
> > src/backend/replication/logical/relation.c
> >
> > logicalrep_report_missing_or_gen_attrs:
> >
> > 1.
> > +/*
> > + * If attempting to replicate missing or generated columns, report an error.
> > + * Prioritize 'missing' errors if both occur though the prioritization is
> > + * random.
> > + */
> >
> > That part "though the prioritization is random" seems wrongly worded
> > because there is nothing random here.
> >
> > I guess the intention was something like "This prioritization design
> > choice was arbitrary.", but TBH it may be better not to give any
> > reason at all.
> >
>
> I think we should give a reason so that if we come across any scenario
> or add another one in the future, it will be easier to make the
> decision. I'll change the patch to use 'arbitrary' instead of random.

There is a buildfarm failure in [1]. One of the new tests added to
verify the log for the "incompatible generated columns" issue was
incorrect. Specifically, the check qr/ERROR: ( [A-Z0-9]:) should have
been updated to qr/ERROR: ( [A-Z0-9]+:), which is consistent with
similar checks elsewhere in the codebase. The attached patch contains
the necessary changes to address this issue.
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=prion&dt=2024-11-27%2004%3A17%3A03

Regards,
Vignesh

Commits

  1. Fix buildfarm failure from commit 8fcd80258b.

  2. Improve error message for replication of generated columns.