diff options
Diffstat (limited to 'src/backend/access/nbtree/nbtinsert.c')
-rw-r--r-- | src/backend/access/nbtree/nbtinsert.c | 11 |
1 files changed, 6 insertions, 5 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; |