pgsql: Remove btree page items after page unlink

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

pgsql: Remove btree page items after page unlink

Alexander Korotkov-3
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(-)