pgsql: Support RBM_ZERO_AND_CLEANUP_LOCK in ExtendBufferedRelTo(), add
От | Andres Freund |
---|---|
Тема | pgsql: Support RBM_ZERO_AND_CLEANUP_LOCK in ExtendBufferedRelTo(), add |
Дата | |
Msg-id | E1pnOJg-0034YX-9D@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
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 <tgl@sss.pgh.pa.us> Reported-by: Alexander Lakhin <exclusion@gmail.com> Reviewed-by: Alexander Lakhin <exclusion@gmail.com> Discussion: https://postgr.es/m/392271.1681238924%40sss.pgh.pa.us Discussion: https://postgr.es/m/0b5eb82b-cb99-e0a4-b932-3dc60e2e3926@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(-)
В списке pgsql-committers по дате отправления: