]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Need to do CommandCounterIncrement after StoreAttrMissingVal.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Apr 2025 15:13:01 +0000 (11:13 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Apr 2025 15:13:01 +0000 (11:13 -0400)
commitd31d39cfe4f5f357c5ebf986efec61021cdf729d
tree3cc97715879cb1e5906fb8a1c349d53374c01580
parentd501e7ba5e50b86a3769595d5cfbfea281312af6
Need to do CommandCounterIncrement after StoreAttrMissingVal.

Without this, an additional change to the same pg_attribute row
within the same command will fail.  This is possible at least with
ALTER TABLE ADD COLUMN on a multiple-inheritance-pathway structure.
(Another potential hazard is that immediately-following operations
might not see the missingval.)

Introduced by 95f650674, which split the former coding that
used a single pg_attribute update to change both atthasdef and
atthasmissing/attmissingval into two updates, but missed that
this should entail two CommandCounterIncrements as well.  Like
that fix, back-patch through v13.

Reported-by: Alexander Lakhin <exclusion@gmail.com>
Author: Tender Wang <tndrwang@gmail.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/025a3ffa-5eff-4a88-97fb-8f583b015965@gmail.com
Backpatch-through: 13
src/backend/commands/tablecmds.c
src/test/regress/expected/inherit.out
src/test/regress/sql/inherit.sql