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 <[email protected]>
Author: Antonin Houska <[email protected]>
Reviewed-by: Chao Li <[email protected]>
Discussion: 
https://postgr.es/m/cahg+qdexb9hm2vgkxqedycp52gzajjk5koudni6oljss0ne...@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(-)

Reply via email to