aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/access/nbtree/nbtinsert.c11
-rw-r--r--src/backend/access/nbtree/nbtpage.c2
-rw-r--r--src/include/access/nbtree.h2
3 files changed, 8 insertions, 7 deletions
diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c
index 5c2b8034f5e..a4d46a0f446 100644
--- a/src/backend/access/nbtree/nbtinsert.c
+++ b/src/backend/access/nbtree/nbtinsert.c
@@ -1886,7 +1886,7 @@ _bt_insert_parent(Relation rel,
* 05/27/97
*/
stack->bts_btentry = bknum;
- pbuf = _bt_getstackbuf(rel, stack, BT_WRITE);
+ pbuf = _bt_getstackbuf(rel, stack);
/*
* Now we can unlock the right child. The left child will be unlocked
@@ -1976,10 +1976,11 @@ _bt_finish_split(Relation rel, Buffer lbuf, BTStack stack)
*
* Adjusts bts_blkno & bts_offset if changed.
*
- * Returns InvalidBuffer if item not found (should not happen).
+ * Returns write-locked buffer, or InvalidBuffer if item not found
+ * (should not happen).
*/
Buffer
-_bt_getstackbuf(Relation rel, BTStack stack, int access)
+_bt_getstackbuf(Relation rel, BTStack stack)
{
BlockNumber blkno;
OffsetNumber start;
@@ -1993,11 +1994,11 @@ _bt_getstackbuf(Relation rel, BTStack stack, int access)
Page page;
BTPageOpaque opaque;
- buf = _bt_getbuf(rel, blkno, access);
+ buf = _bt_getbuf(rel, blkno, BT_WRITE);
page = BufferGetPage(buf);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
- if (access == BT_WRITE && P_INCOMPLETE_SPLIT(opaque))
+ if (P_INCOMPLETE_SPLIT(opaque))
{
_bt_finish_split(rel, buf, stack->bts_parent);
continue;
diff --git a/src/backend/access/nbtree/nbtpage.c b/src/backend/access/nbtree/nbtpage.c
index 300daf915da..9c785bca95e 100644
--- a/src/backend/access/nbtree/nbtpage.c
+++ b/src/backend/access/nbtree/nbtpage.c
@@ -1153,7 +1153,7 @@ _bt_lock_branch_parent(Relation rel, BlockNumber child, BTStack stack,
* if needed)
*/
stack->bts_btentry = child;
- pbuf = _bt_getstackbuf(rel, stack, BT_WRITE);
+ pbuf = _bt_getstackbuf(rel, stack);
if (pbuf == InvalidBuffer)
elog(ERROR, "failed to re-find parent key in index \"%s\" for deletion target page %u",
RelationGetRelationName(rel), child);
diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h
index 4fb92d60a12..60622ea7906 100644
--- a/src/include/access/nbtree.h
+++ b/src/include/access/nbtree.h
@@ -528,7 +528,7 @@ extern void _bt_parallel_advance_array_keys(IndexScanDesc scan);
*/
extern bool _bt_doinsert(Relation rel, IndexTuple itup,
IndexUniqueCheck checkUnique, Relation heapRel);
-extern Buffer _bt_getstackbuf(Relation rel, BTStack stack, int access);
+extern Buffer _bt_getstackbuf(Relation rel, BTStack stack);
extern void _bt_finish_split(Relation rel, Buffer bbuf, BTStack stack);
/*