]> granicus.if.org Git - postgresql/commit
Remove obsolete nbtree insertion comment.
authorPeter Geoghegan <pg@bowt.ie>
Wed, 15 May 2019 23:53:11 +0000 (16:53 -0700)
committerPeter Geoghegan <pg@bowt.ie>
Wed, 15 May 2019 23:53:11 +0000 (16:53 -0700)
commit489e431ba56b10f5736fb54a045ca40880f11bbc
tree2ab043503232fcc0c6620d6346416984f5c89d4c
parent8a0f0ad54047c8dc1430e521e2dc90f2cd138a9d
Remove obsolete nbtree insertion comment.

Remove a Berkeley-era comment above _bt_insertonpg() that admonishes the
reader to grok Lehman and Yao's paper before making any changes.  This
made a certain amount of sense back when _bt_insertonpg() was
responsible for most of the things that are now spread across
_bt_insertonpg(), _bt_findinsertloc(), _bt_insert_parent(), and
_bt_split(), but it doesn't work like that anymore.

I believe that this comment alludes to the need to "couple" or "crab"
buffer locks as we ascend the tree as page splits cascade upwards.  The
nbtree README already explains this in detail, which seems sufficient.
Besides, the changes to page splits made by commit 40dae7ec537 altered
the exact details of how buffer locks are retained during splits; Lehman
and Yao's original algorithm seems to release the lock on the left child
page/buffer slightly earlier than _bt_insertonpg()/_bt_insert_parent()
can.
src/backend/access/nbtree/nbtinsert.c