On Tue, Aug 6, 2019 at 8:30 AM Anastasia Lubennikova <a.lubennik...@postgrespro.ru> wrote: > Should we also update similar code in _bt_mark_page_halfdead()? > I attached a new version of the patch with this change.
Pushed. At first I thought that there might be a problem with doing the same thing within _bt_mark_page_halfdead(), because we still won't use PageIndexTupleOverwrite() in the corresponding recovery routine -- in theory, that could break WAL consistency checking because the redo routine works by reconstructing a half-deleted leaf page from scratch, resulting in a logically equivalent though physically different page (even after masking within btree_mask()). However, I eventually decided that you had it right. Your _bt_mark_page_halfdead() change is clearer overall and doesn't break WAL consistency checking in practice, for reasons that are no less obvious than before. Thanks! -- Peter Geoghegan