Thread: pgsql: Remove btree page items after page unlink

pgsql: Remove btree page items after page unlink

From
Alexander Korotkov
Date:
Remove btree page items after page unlink

Currently, page unlink leaves remaining items "as is", but replay of
corresponding WAL-record re-initializes page leaving it with no items.
For the sake of consistency, this commit makes primary delete all the items
during page unlink as well.

Thanks to this change, we now don't mask contents of deleted btree page for
WAL consistency checking.

Discussion: https://postgr.es/m/CAPpHfdt_OTyQpXaPJcWzV2N-LNeNJseNB-K_A66qG%3DL518VTFw%40mail.gmail.com
Author: Alexander Korotkov
Reviewed-by: Peter Geoghegan

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f47b5e139579a77c1f7c63400f01ea39d515e8c8

Modified Files
--------------
contrib/amcheck/verify_nbtree.c     |  7 ++-----
src/backend/access/nbtree/nbtpage.c |  9 +++++++++
src/backend/access/nbtree/nbtxlog.c | 10 +---------
3 files changed, 12 insertions(+), 14 deletions(-)