BUG #18297: Error when adding a column to a parent table with complex inheritance
The Post Office <noreply@postgresql.org>
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: exclusion@gmail.com
Date: 2024-01-16T04:00:02Z
Lists: pgsql-bugs
The following bug has been logged on the website: Bug reference: 18297 Logged by: Alexander Lakhin Email address: exclusion@gmail.com PostgreSQL version: 16.1 Operating system: Ubuntu 22.04 Description: The following query: CREATE TABLE a (); CREATE TABLE b () INHERITS (a); CREATE TABLE c () INHERITS (b); CREATE TABLE d () INHERITS (a,b,c); ALTER TABLE a ADD COLUMN i int; fails with: NOTICE: merging definition of column "i" for child "d" ERROR: tuple already updated by self While with a simpler hierarchy: CREATE TABLE a (); CREATE TABLE b () INHERITS (a); CREATE TABLE c () INHERITS (a,b); the column added successfully: ALTER TABLE a ADD COLUMN i int; NOTICE: merging definition of column "i" for child "c" ALTER TABLE In the failed case the error occurred when table d was processed the third time. First (following chain a -> b -> c-> d) the table got the column i added, second (a -> b -> d) it got merged column definition, third (a -> d) an attempt to merge the column definition once more failed. This error can be seen at least on REL_12_STABLE .. master.
Commits
-
Fix ALTER TABLE .. ADD COLUMN with complex inheritance trees
- 2f724283719e 12.18 landed
- bfec14d06de8 13.14 landed
- 5a7833f49679 14.11 landed
- ad6fbbeeb07a 15.6 landed
- 51193e7a7d33 16.2 landed
- bb812ab0917e 17.0 landed