REPACK CONCURRENTLY: fix processing of toasted tuples
In order to process tuples inserted or updated while REPACK executes, we
write those tuples to disk and later restore them; however, some forms
of toasted tuples were not being processed correctly. Fix that.
Also expand the tests a bit for better coverage.
Author: Satya Narlapuram <satyanarlapuram@gmail.com>
Author: Antonin Houska <ah@cybertec.at>
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Discussion: https://postgr.es/m/CAHg+QDeXb9HM2VGKXQedyCp52GzajJK5KOUdNi6oLjsS0nerQw@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/6ca631b9901264b97c5b165e66edd3a85847ee0b
Modified Files
--------------
src/backend/commands/repack.c | 2 +-
.../injection_points/expected/repack_toast.out | 109 ++++++++++----
.../injection_points/specs/repack_toast.spec | 158 +++++++++++++++------
3 files changed, 199 insertions(+), 70 deletions(-)