aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/spgist/spgdoinsert.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/spgist/spgdoinsert.c')
-rw-r--r--src/backend/access/spgist/spgdoinsert.c39
1 files changed, 24 insertions, 15 deletions
diff --git a/src/backend/access/spgist/spgdoinsert.c b/src/backend/access/spgist/spgdoinsert.c
index f090ca528b1..b780bfea44d 100644
--- a/src/backend/access/spgist/spgdoinsert.c
+++ b/src/backend/access/spgist/spgdoinsert.c
@@ -451,7 +451,7 @@ moveLeafs(Relation index, SpGistState *state,
/* Find a leaf page that will hold them */
nbuf = SpGistGetBuffer(index, GBUF_LEAF | (isNulls ? GBUF_NULLS : 0),
size, &xlrec.newPage);
- npage = BufferGetPage(nbuf);
+ npage = BufferGetPage(nbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
nblkno = BufferGetBlockNumber(nbuf);
Assert(nblkno != current->blkno);
@@ -1037,7 +1037,8 @@ doPickSplit(Relation index, SpGistState *state,
nodePageSelect = (uint8 *) palloc(sizeof(uint8) * out.nNodes);
curspace = currentFreeSpace;
- newspace = PageGetExactFreeSpace(BufferGetPage(newLeafBuffer));
+ newspace = PageGetExactFreeSpace
+ (BufferGetPage(newLeafBuffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST));
for (i = 0; i < out.nNodes; i++)
{
if (leafSizes[i] <= curspace)
@@ -1070,7 +1071,9 @@ doPickSplit(Relation index, SpGistState *state,
/* Repeat the node assignment process --- should succeed now */
curspace = currentFreeSpace;
- newspace = PageGetExactFreeSpace(BufferGetPage(newLeafBuffer));
+ newspace = PageGetExactFreeSpace
+ (BufferGetPage(newLeafBuffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST));
for (i = 0; i < out.nNodes; i++)
{
if (leafSizes[i] <= curspace)
@@ -1201,7 +1204,9 @@ doPickSplit(Relation index, SpGistState *state,
it->nextOffset = InvalidOffsetNumber;
/* Insert it on page */
- newoffset = SpGistPageAddNewItem(state, BufferGetPage(leafBuffer),
+ newoffset = SpGistPageAddNewItem(state,
+ BufferGetPage(leafBuffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST),
(Item) it, it->size,
&startOffsets[leafPageSelect[i]],
false);
@@ -1275,7 +1280,8 @@ doPickSplit(Relation index, SpGistState *state,
/* Repoint "current" at the new inner tuple */
current->buffer = newInnerBuffer;
current->blkno = BufferGetBlockNumber(current->buffer);
- current->page = BufferGetPage(current->buffer);
+ current->page = BufferGetPage(current->buffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST);
xlrec.offnumInner = current->offnum =
SpGistPageAddNewItem(state, current->page,
(Item) innerTuple, innerTuple->size,
@@ -1391,24 +1397,22 @@ doPickSplit(Relation index, SpGistState *state,
/* Update page LSNs on all affected pages */
if (newLeafBuffer != InvalidBuffer)
{
- Page page = BufferGetPage(newLeafBuffer);
-
+ Page page = BufferGetPage(newLeafBuffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST);
PageSetLSN(page, recptr);
}
if (saveCurrent.buffer != InvalidBuffer)
{
- Page page = BufferGetPage(saveCurrent.buffer);
-
+ Page page = BufferGetPage(saveCurrent.buffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST);
PageSetLSN(page, recptr);
}
PageSetLSN(current->page, recptr);
if (parent->buffer != InvalidBuffer)
- {
PageSetLSN(parent->page, recptr);
- }
}
END_CRIT_SECTION();
@@ -1578,7 +1582,8 @@ spgAddNodeAction(Relation index, SpGistState *state,
newInnerTuple->size + sizeof(ItemIdData),
&xlrec.newPage);
current->blkno = BufferGetBlockNumber(current->buffer);
- current->page = BufferGetPage(current->buffer);
+ current->page = BufferGetPage(current->buffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST);
/*
* Let's just make real sure new current isn't same as old. Right now
@@ -1793,7 +1798,9 @@ spgSplitNodeAction(Relation index, SpGistState *state,
{
postfixBlkno = BufferGetBlockNumber(newBuffer);
xlrec.offnumPostfix = postfixOffset =
- SpGistPageAddNewItem(state, BufferGetPage(newBuffer),
+ SpGistPageAddNewItem(state,
+ BufferGetPage(newBuffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST),
(Item) postfixTuple, postfixTuple->size,
NULL, false);
MarkBufferDirty(newBuffer);
@@ -1840,7 +1847,8 @@ spgSplitNodeAction(Relation index, SpGistState *state,
if (newBuffer != InvalidBuffer)
{
- PageSetLSN(BufferGetPage(newBuffer), recptr);
+ PageSetLSN(BufferGetPage(newBuffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST), recptr);
}
}
@@ -1984,7 +1992,8 @@ spgdoinsert(Relation index, SpGistState *state,
/* inner tuple can be stored on the same page as parent one */
current.buffer = parent.buffer;
}
- current.page = BufferGetPage(current.buffer);
+ current.page = BufferGetPage(current.buffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST);
/* should not arrive at a page of the wrong type */
if (isnull ? !SpGistPageStoresNulls(current.page) :