summaryrefslogtreecommitdiff
path: root/src/backend/storage/buffer/bufmgr.c
diff options
context:
space:
mode:
authorAmit Kapila <akapila@postgresql.org>2023-11-27 08:59:12 +0530
committerAmit Kapila <akapila@postgresql.org>2023-11-27 08:59:12 +0530
commitd7ca9209c9707703d6fd3bb7dc6d539803a72876 (patch)
tree8c320055259ff945c141e7d889222a583d0b85ce /src/backend/storage/buffer/bufmgr.c
parent8984480b545dcd8d09d8b877d71d9eae0b3bcb92 (diff)
Avoid unconditionally filling in missing values with NULL in pgoutput.
52e4f0cd4 introduced a bug in pgoutput in which missing values in tuples were incorrectly filled in with NULL. The problem was the use of CreateTupleDescCopy where CreateTupleDescCopyConstr was required, as the former drops the constraints in the tuple description (specifically, the default value constraint) on the floor. The bug could result in incorrectness when a table replicated via `REPLICA IDENTITY FULL` underwent a schema change that added a column with a default value. The problem is that in such cases updates fill NULL values in old tuples for missing columns for default values. Then on the subscriber, we failed to find a matching tuple and missed updating the required row. Author: Nikhil Benesch Reviewed-by: Hou Zhijie, Amit Kapila Backpatch-through: 15 Discussion: http://postgr.es/m/CAPWqQZTEpZQamYsGMn6ZDRvVywwpVPiKH6OY4KSgA+NmeqFNzA@mail.gmail.com
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
0 files changed, 0 insertions, 0 deletions