pgsql: Fix table rewrites that include a column without a default.

Started by Andres Freundalmost 7 years ago1 messagescomitters
Jump to latest
#1Andres Freund
andres@anarazel.de

Fix table rewrites that include a column without a default.

In c2fe139c201c I made ATRewriteTable() use tuple slots. Unfortunately
I did not notice that columns can be added in a rewrite that do not
have a default, when another column is added/altered requiring one.

Initialize columns to NULL again, and add tests.

Bug: #16038
Reported-By: anonymous
Author: Andres Freund
Discussion: /messages/by-id/16038-5c974541f2bf6749@postgresql.org
Backpatch: 12, where the bug was introduced in c2fe139c201c

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/f224c7c11ea7be2751e3342e11317070ffb5622d

Modified Files
--------------
src/backend/commands/tablecmds.c | 10 +++++++
src/test/regress/expected/alter_table.out | 47 ++++++++++++++++++++++++++++++
src/test/regress/sql/alter_table.sql | 48 +++++++++++++++++++++++++++++++
3 files changed, 105 insertions(+)