From: | Richard Guo <guofenglinux(at)gmail(dot)com> |
---|---|
To: | Tender Wang <tndrwang(at)gmail(dot)com> |
Cc: | exclusion(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #18297: Error when adding a column to a parent table with complex inheritance |
Date: | 2024-01-17 11:54:26 |
Message-ID: | CAMbWs48DPeuusHFaZ8xk=ag6TbhfqtF9KUEUMmb3nY7zPYCBdA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Wed, Jan 17, 2024 at 3:48 PM Tender Wang <tndrwang(at)gmail(dot)com> wrote:
> Hmm, thanks for the report.
> I can repeat the aboved issue on master, even on pg10 and pg 11.
> I analyzed this issue, and I found that ATExecAddColumn(), we forgot to
> call CommandCounterIncrement() in if (colDef->inhcount > 0) {...} branch.
> So the third(a->d) updates the first(a->b->c->d) tuple.
> Attached patch is my quickly fixed solution.
>
Indeed. We may update the same child column multiple times, but there
is no CommandCounterIncrement between. Nice catch and +1 to the fix.
To nitpick, how about go with the comment as
/* Make sure the child column change is visible */
which seems clearer.
Also I think it'd be better to include a blank line before and after the
new CommandCounterIncrement statement.
Also I suggest to drop the new added tables after we've run ALTER TABLE
in the test case.
Thanks
Richard
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Gustafsson | 2024-01-17 14:37:53 | Re: pg_basebackup: errors on macOS on directories with ".DS_Store" files |
Previous Message | PG Bug reporting form | 2024-01-17 10:15:01 | BUG #18301: version mismatch |