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.
Branch
------
REL_11_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/9625ab79245b5b91162ede9d1b4d8b4be823c21c
Modified Files
--------------
src/backend/access/common/heaptuple.c | 51 ++++----
src/backend/commands/trigger.c | 5 +-
src/test/regress/expected/fast_default.out | 191 ++++++++++++++++++++++++++++-
src/test/regress/sql/fast_default.sql | 114 ++++++++++++++++-
4 files changed, 328 insertions(+), 33 deletions(-)