mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
Fast default trigger and expand_tuple fixes
Ensure that triggers get properly filled in tuples for the OLD value. Also fix the logic of detecting missing null values. The previous logic failed to detect a missing null column before the first missing column with a default. Fixing this has simplified the logic a bit. Regression tests are added to test changes. This should ensure better coverage of expand_tuple(). Original bug reports, and some code and test scripts from Tomas Vondra Backpatch to release 11.
This commit is contained in:
@ -3396,7 +3396,10 @@ ltrmark:;
|
||||
LockBuffer(buffer, BUFFER_LOCK_UNLOCK);
|
||||
}
|
||||
|
||||
result = heap_copytuple(&tuple);
|
||||
if (HeapTupleHeaderGetNatts(tuple.t_data) < relation->rd_att->natts)
|
||||
result = heap_expand_tuple(&tuple, relation->rd_att);
|
||||
else
|
||||
result = heap_copytuple(&tuple);
|
||||
ReleaseBuffer(buffer);
|
||||
|
||||
return result;
|
||||
|
Reference in New Issue
Block a user