Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 489e431

Browse files
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 40dae7e 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.
1 parent 8a0f0ad commit 489e431

File tree

1 file changed

+0
-3
lines changed

1 file changed

+0
-3
lines changed

src/backend/access/nbtree/nbtinsert.c

-3
Original file line numberDiff line numberDiff line change
@@ -926,9 +926,6 @@ _bt_stepright(Relation rel, BTInsertState insertstate, BTStack stack)
926926
* inserting to a non-leaf page, 'cbuf' is the left-sibling of the page
927927
* we're inserting the downlink for. This function will clear the
928928
* INCOMPLETE_SPLIT flag on it, and release the buffer.
929-
*
930-
* The locking interactions in this code are critical. You should
931-
* grok Lehman and Yao's paper before making any changes.
932929
*----------
933930
*/
934931
static void

0 commit comments

Comments
 (0)