]> granicus.if.org Git - postgresql/commitdiff
Update comments on nbtree stack struct.
authorPeter Geoghegan <pg@bowt.ie>
Wed, 21 Aug 2019 20:50:27 +0000 (13:50 -0700)
committerPeter Geoghegan <pg@bowt.ie>
Wed, 21 Aug 2019 20:50:27 +0000 (13:50 -0700)
Adjust the struct comment that describes how page splits use their
descent stack to cascade up the tree from the leaf level.

In passing, fix up some unrelated nbtree comments that had typos or were
obsolete.

src/backend/access/nbtree/nbtsort.c
src/backend/access/nbtree/nbtsplitloc.c
src/include/access/nbtree.h

index e678690b18ead7fc5b56c43f771e41e1a5a022df..ab1969200646af7511b149f83cafce91de32b0a4 100644 (file)
@@ -953,7 +953,7 @@ _bt_buildadd(BTWriteState *wstate, BTPageState *state, IndexTuple itup)
                         *
                         * We don't try to bias our choice of split point to make it more
                         * likely that _bt_truncate() can truncate away more attributes,
-                        * whereas the split point passed to _bt_split() is chosen much
+                        * whereas the split point used within _bt_split() is chosen much
                         * more delicately.  Suffix truncation is mostly useful because it
                         * improves space utilization for workloads with random
                         * insertions.  It doesn't seem worthwhile to add logic for
index a7882fd8742ebc7b3e21f9edc67c65c13742aed8..1c1029b6c4d4a8c6dcce604ad96cb2e048952508 100644 (file)
@@ -1060,7 +1060,7 @@ _bt_split_penalty(FindSplitData *state, SplitPoint *split)
 }
 
 /*
- * Subroutine to get a lastleft IndexTuple for a spit point from page
+ * Subroutine to get a lastleft IndexTuple for a split point from page
  */
 static inline IndexTuple
 _bt_split_lastleft(FindSplitData *state, SplitPoint *split)
@@ -1076,7 +1076,7 @@ _bt_split_lastleft(FindSplitData *state, SplitPoint *split)
 }
 
 /*
- * Subroutine to get a firstright IndexTuple for a spit point from page
+ * Subroutine to get a firstright IndexTuple for a split point from page
  */
 static inline IndexTuple
 _bt_split_firstright(FindSplitData *state, SplitPoint *split)
index 7e54c456f7de4c6e9aeae5e67de195abbe7bf9ed..52eafe6b00066e2a0c0a2a5ab2fc66c478a14de4 100644 (file)
@@ -406,8 +406,11 @@ typedef struct BTMetaPageData
  * BTStackData -- As we descend a tree, we push the location of pivot
  * tuples whose downlink we are about to follow onto a private stack.  If
  * we split a leaf, we use this stack to walk back up the tree and insert
- * data into its parent page at the correct location.  We may also have to
- * recursively split a grandparent of the leaf page (and so on).
+ * data into its parent page at the correct location.  We also have to
+ * recursively insert into the grandparent page if and when the parent page
+ * splits.  Our private stack can become stale due to concurrent page
+ * splits and page deletions, but it should never give us an irredeemably
+ * bad picture.
  */
 typedef struct BTStackData
 {