Re: Corrupted btree index on HEAD because of covering indexes
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Teodor Sigaev <teodor@sigaev.ru>
Cc: Alexander Korotkov <a.korotkov@postgrespro.ru>,
Michael Paquier <michael@paquier.xyz>, Postgres hackers <pgsql-hackers@postgresql.org>, Anastasia Lubennikova <a.lubennikova@postgrespro.ru>
Date: 2018-04-21T01:56:19Z
Lists: pgsql-hackers
On Fri, Apr 20, 2018 at 7:18 AM, Teodor Sigaev <teodor@sigaev.ru> wrote: > After close look I change my opinion. To have a clean code it's much better > to have new pair get/set macroses specialy to manage link to top pare during > page deletion. This removes last naked usage of > ItemPointer(SetInvalid/IsInvalid/GetBlockNumberNoCheck) and uses > self-described macroses. Patch is attached. I see your point. Maybe don't have the newline between the get and set, though, to match the existing style. And, the note about the assertion seems unnecessary. I suggest putting something about what general area this deals with. Perhaps something like the following: "Get/set leaf page highkey's link. During the second phase of deletion, the target leaf page's high key may point to an ancestor page (at all other times, the leaf level high key's link is not used). See the nbtree README for full details." -- Peter Geoghegan
Commits
-
Add missing and dangling downlink checks to amcheck
- 4eaf7eaccb29 11.0 landed
-
Fix wrong validation of top-parent pointer during page deletion in Btree.
- 6db4b49986be 11.0 landed
-
Add integrity-checking functions to pg_visibility.
- e472ce9624e0 9.6.0 cited
-
Make the handling of interrupted B-tree page splits more robust.
- 40dae7ec537c 9.4.0 cited