Hello,
I'm just taking the btree shrinking problem, and saw in the README:
+ Deletions are handled by getting a super-exclusive lock on the target page, so that no other backend has a pin on
thepage when the deletion starts. This means no scan is pointing at the page. This is OK for deleting leaf items,
probablynot OK for deleting internal nodes; will need to think harder when it's time to support index compaction.
In what cases is not OK to delete an item from an internal node, holding
a super-exclusive lock? (I assume this means LockBufferForCleanup()).
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Los dioses no protegen a los insensatos. Éstos reciben protección de
otros insensatos mejor dotados" (Luis Wu, Mundo Anillo)