]> granicus.if.org Git - postgresql/commitdiff
Adjust _bt_insertonpg() comments
authorTeodor Sigaev <teodor@sigaev.ru>
Thu, 19 Apr 2018 08:08:45 +0000 (11:08 +0300)
committerTeodor Sigaev <teodor@sigaev.ru>
Thu, 19 Apr 2018 08:08:45 +0000 (11:08 +0300)
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

src/backend/access/nbtree/nbtinsert.c

index dbd5c9238c5299ca8a9de5d00721671c1f628528..ecf4e53502a32276d54d9d73cbff182797d16be4 100644 (file)
@@ -817,18 +817,18 @@ _bt_findinsertloc(Relation rel,
  *             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.
  *
- *             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
+ *             This routine only performs retail tuple insertions.  'itup' should
+ *             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.
  *
  *             The locking interactions in this code are critical.  You should
  *             grok Lehman and Yao's paper before making any changes.  In addition,
  *             you need to understand how we disambiguate duplicate keys in this
  *             implementation, in order to be able to find our location using
- *             L&Y "move right" operations.  Since we may insert duplicate user
- *             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.
+ *             L&Y "move right" operations.
  *----------
  */
 static void