Support RBM_ZERO_AND_CLEANUP_LOCK in ExtendBufferedRelTo(), add tests For some reason I had not implemented RBM_ZERO_AND_CLEANUP_LOCK support in ExtendBufferedRelTo(), likely thinking it not being reachable. But it is reachable, e.g. when replaying a WAL record for a page in a relation that subsequently is truncated (likely only reachable when doing crash recovery or PITR, not during ongoing streaming replication).
As now all of the RBM_* modes are supported, remove assertions checking mode. As we had no test coverage for this scenario, add a new TAP test. There's plenty more that ought to be tested in this area... Reported-by: Tom Lane <t...@sss.pgh.pa.us> Reported-by: Alexander Lakhin <exclus...@gmail.com> Reviewed-by: Alexander Lakhin <exclus...@gmail.com> Discussion: https://postgr.es/m/392271.1681238924%40sss.pgh.pa.us Discussion: https://postgr.es/m/0b5eb82b-cb99-e0a4-b932-3dc60e2e3...@gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/43a33ef54e503b61f269d088f2623ba3b9484ad7 Modified Files -------------- src/backend/storage/buffer/bufmgr.c | 28 +++--- src/test/recovery/meson.build | 1 + src/test/recovery/t/036_truncated_dropped.pl | 136 +++++++++++++++++++++++++++ 3 files changed, 154 insertions(+), 11 deletions(-)