mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Adjust _bt_insertonpg() comments
Remove an obsolete reference to the 'afteritem' argument, which was
removed by commit bc292937
. Add a comment that clarifies how
_bt_insertonpg() indirectly handles the insertion of high key items.
Author: Peter Geoghegan
This commit is contained in:
@ -817,18 +817,18 @@ _bt_findinsertloc(Relation rel,
|
|||||||
* insertion, and the buffer must be pinned and write-locked. On return,
|
* insertion, and the buffer must be pinned and write-locked. On return,
|
||||||
* we will have dropped both the pin and the lock on the buffer.
|
* we will have dropped both the pin and the lock on the buffer.
|
||||||
*
|
*
|
||||||
* When inserting to a non-leaf page, 'cbuf' is the left-sibling of the
|
* This routine only performs retail tuple insertions. 'itup' should
|
||||||
* page we're inserting the downlink for. This function will clear the
|
* always be either a non-highkey leaf item, or a downlink (new high
|
||||||
|
* key items are created indirectly, when a page is split). When
|
||||||
|
* inserting to a non-leaf page, 'cbuf' is the left-sibling of the page
|
||||||
|
* we're inserting the downlink for. This function will clear the
|
||||||
* INCOMPLETE_SPLIT flag on it, and release the buffer.
|
* INCOMPLETE_SPLIT flag on it, and release the buffer.
|
||||||
*
|
*
|
||||||
* The locking interactions in this code are critical. You should
|
* The locking interactions in this code are critical. You should
|
||||||
* grok Lehman and Yao's paper before making any changes. In addition,
|
* grok Lehman and Yao's paper before making any changes. In addition,
|
||||||
* you need to understand how we disambiguate duplicate keys in this
|
* you need to understand how we disambiguate duplicate keys in this
|
||||||
* implementation, in order to be able to find our location using
|
* implementation, in order to be able to find our location using
|
||||||
* L&Y "move right" operations. Since we may insert duplicate user
|
* L&Y "move right" operations.
|
||||||
* keys, and since these dups may propagate up the tree, we use the
|
|
||||||
* 'afteritem' parameter to position ourselves correctly for the
|
|
||||||
* insertion on internal pages.
|
|
||||||
*----------
|
*----------
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
|
Reference in New Issue
Block a user