diff options
Diffstat (limited to 'src/backend/access/spgist')
-rw-r--r-- | src/backend/access/spgist/spgdoinsert.c | 39 | ||||
-rw-r--r-- | src/backend/access/spgist/spginsert.c | 12 | ||||
-rw-r--r-- | src/backend/access/spgist/spgscan.c | 3 | ||||
-rw-r--r-- | src/backend/access/spgist/spgutils.c | 19 | ||||
-rw-r--r-- | src/backend/access/spgist/spgvacuum.c | 13 | ||||
-rw-r--r-- | src/backend/access/spgist/spgxlog.c | 50 |
6 files changed, 56 insertions, 80 deletions
diff --git a/src/backend/access/spgist/spgdoinsert.c b/src/backend/access/spgist/spgdoinsert.c index b780bfea44d..f090ca528b1 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, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + npage = BufferGetPage(nbuf); nblkno = BufferGetBlockNumber(nbuf); Assert(nblkno != current->blkno); @@ -1037,8 +1037,7 @@ doPickSplit(Relation index, SpGistState *state, nodePageSelect = (uint8 *) palloc(sizeof(uint8) * out.nNodes); curspace = currentFreeSpace; - newspace = PageGetExactFreeSpace - (BufferGetPage(newLeafBuffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST)); + newspace = PageGetExactFreeSpace(BufferGetPage(newLeafBuffer)); for (i = 0; i < out.nNodes; i++) { if (leafSizes[i] <= curspace) @@ -1071,9 +1070,7 @@ doPickSplit(Relation index, SpGistState *state, /* Repeat the node assignment process --- should succeed now */ curspace = currentFreeSpace; - newspace = PageGetExactFreeSpace - (BufferGetPage(newLeafBuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST)); + newspace = PageGetExactFreeSpace(BufferGetPage(newLeafBuffer)); for (i = 0; i < out.nNodes; i++) { if (leafSizes[i] <= curspace) @@ -1204,9 +1201,7 @@ doPickSplit(Relation index, SpGistState *state, it->nextOffset = InvalidOffsetNumber; /* Insert it on page */ - newoffset = SpGistPageAddNewItem(state, - BufferGetPage(leafBuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST), + newoffset = SpGistPageAddNewItem(state, BufferGetPage(leafBuffer), (Item) it, it->size, &startOffsets[leafPageSelect[i]], false); @@ -1280,8 +1275,7 @@ 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, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + current->page = BufferGetPage(current->buffer); xlrec.offnumInner = current->offnum = SpGistPageAddNewItem(state, current->page, (Item) innerTuple, innerTuple->size, @@ -1397,22 +1391,24 @@ doPickSplit(Relation index, SpGistState *state, /* Update page LSNs on all affected pages */ if (newLeafBuffer != InvalidBuffer) { - Page page = BufferGetPage(newLeafBuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + Page page = BufferGetPage(newLeafBuffer); + PageSetLSN(page, recptr); } if (saveCurrent.buffer != InvalidBuffer) { - Page page = BufferGetPage(saveCurrent.buffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + Page page = BufferGetPage(saveCurrent.buffer); + PageSetLSN(page, recptr); } PageSetLSN(current->page, recptr); if (parent->buffer != InvalidBuffer) + { PageSetLSN(parent->page, recptr); + } } END_CRIT_SECTION(); @@ -1582,8 +1578,7 @@ spgAddNodeAction(Relation index, SpGistState *state, newInnerTuple->size + sizeof(ItemIdData), &xlrec.newPage); current->blkno = BufferGetBlockNumber(current->buffer); - current->page = BufferGetPage(current->buffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + current->page = BufferGetPage(current->buffer); /* * Let's just make real sure new current isn't same as old. Right now @@ -1798,9 +1793,7 @@ spgSplitNodeAction(Relation index, SpGistState *state, { postfixBlkno = BufferGetBlockNumber(newBuffer); xlrec.offnumPostfix = postfixOffset = - SpGistPageAddNewItem(state, - BufferGetPage(newBuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST), + SpGistPageAddNewItem(state, BufferGetPage(newBuffer), (Item) postfixTuple, postfixTuple->size, NULL, false); MarkBufferDirty(newBuffer); @@ -1847,8 +1840,7 @@ spgSplitNodeAction(Relation index, SpGistState *state, if (newBuffer != InvalidBuffer) { - PageSetLSN(BufferGetPage(newBuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST), recptr); + PageSetLSN(BufferGetPage(newBuffer), recptr); } } @@ -1992,8 +1984,7 @@ 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, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + current.page = BufferGetPage(current.buffer); /* should not arrive at a page of the wrong type */ if (isnull ? !SpGistPageStoresNulls(current.page) : diff --git a/src/backend/access/spgist/spginsert.c b/src/backend/access/spgist/spginsert.c index 3e16b511ac0..44fd644e421 100644 --- a/src/backend/access/spgist/spginsert.c +++ b/src/backend/access/spgist/spginsert.c @@ -92,8 +92,7 @@ spgbuild(Relation heap, Relation index, IndexInfo *indexInfo) START_CRIT_SECTION(); - SpGistInitMetapage(BufferGetPage(metabuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST)); + SpGistInitMetapage(BufferGetPage(metabuffer)); MarkBufferDirty(metabuffer); SpGistInitBuffer(rootbuffer, SPGIST_LEAF); MarkBufferDirty(rootbuffer); @@ -116,12 +115,9 @@ spgbuild(Relation heap, Relation index, IndexInfo *indexInfo) recptr = XLogInsert(RM_SPGIST_ID, XLOG_SPGIST_CREATE_INDEX); - PageSetLSN(BufferGetPage(metabuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST), recptr); - PageSetLSN(BufferGetPage(rootbuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST), recptr); - PageSetLSN(BufferGetPage(nullbuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST), recptr); + PageSetLSN(BufferGetPage(metabuffer), recptr); + PageSetLSN(BufferGetPage(rootbuffer), recptr); + PageSetLSN(BufferGetPage(nullbuffer), recptr); } END_CRIT_SECTION(); diff --git a/src/backend/access/spgist/spgscan.c b/src/backend/access/spgist/spgscan.c index 7acd71a2911..6f9e223f43d 100644 --- a/src/backend/access/spgist/spgscan.c +++ b/src/backend/access/spgist/spgscan.c @@ -341,7 +341,8 @@ redirect: } /* else new pointer points to the same page, no work needed */ - page = BufferGetPage(buffer, snapshot, index, BGP_TEST_FOR_OLD_SNAPSHOT); + page = BufferGetPage(buffer); + TestForOldSnapshot(snapshot, index, page); isnull = SpGistPageStoresNulls(page) ? true : false; diff --git a/src/backend/access/spgist/spgutils.c b/src/backend/access/spgist/spgutils.c index f4bcbeeb4a8..201203f91a3 100644 --- a/src/backend/access/spgist/spgutils.c +++ b/src/backend/access/spgist/spgutils.c @@ -126,8 +126,7 @@ spgGetCache(Relation index) metabuffer = ReadBuffer(index, SPGIST_METAPAGE_BLKNO); LockBuffer(metabuffer, BUFFER_LOCK_SHARE); - metadata = SpGistPageGetMeta - (BufferGetPage(metabuffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST)); + metadata = SpGistPageGetMeta(BufferGetPage(metabuffer)); if (metadata->magicNumber != SPGIST_MAGIC_NUMBER) elog(ERROR, "index \"%s\" is not an SP-GiST index", @@ -207,8 +206,7 @@ SpGistNewBuffer(Relation index) */ if (ConditionalLockBuffer(buffer)) { - Page page = BufferGetPage(buffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + Page page = BufferGetPage(buffer); if (PageIsNew(page)) return buffer; /* OK to use, if never initialized */ @@ -258,8 +256,7 @@ SpGistUpdateMetaPage(Relation index) if (ConditionalLockBuffer(metabuffer)) { - metadata = SpGistPageGetMeta - (BufferGetPage(metabuffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST)); + metadata = SpGistPageGetMeta(BufferGetPage(metabuffer)); metadata->lastUsedPages = cache->lastUsedPages; MarkBufferDirty(metabuffer); @@ -336,9 +333,7 @@ allocNewBuffer(Relation index, int flags) blkFlags |= GBUF_NULLS; cache->lastUsedPages.cachedPage[blkFlags].blkno = blkno; cache->lastUsedPages.cachedPage[blkFlags].freeSpace = - PageGetExactFreeSpace - (BufferGetPage(buffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST)); + PageGetExactFreeSpace(BufferGetPage(buffer)); UnlockReleaseBuffer(buffer); } } @@ -406,7 +401,7 @@ SpGistGetBuffer(Relation index, int flags, int needSpace, bool *isNew) return allocNewBuffer(index, flags); } - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); if (PageIsNew(page) || SpGistPageIsDeleted(page) || PageIsEmpty(page)) { @@ -465,7 +460,7 @@ SpGistSetLastUsedPage(Relation index, Buffer buffer) SpGistCache *cache = spgGetCache(index); SpGistLastUsedPage *lup; int freeSpace; - Page page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + Page page = BufferGetPage(buffer); BlockNumber blkno = BufferGetBlockNumber(buffer); int flags; @@ -513,7 +508,7 @@ void SpGistInitBuffer(Buffer b, uint16 f) { Assert(BufferGetPageSize(b) == BLCKSZ); - SpGistInitPage(BufferGetPage(b, NULL, NULL, BGP_NO_SNAPSHOT_TEST), f); + SpGistInitPage(BufferGetPage(b), f); } /* diff --git a/src/backend/access/spgist/spgvacuum.c b/src/backend/access/spgist/spgvacuum.c index 6b57790a6aa..15b867f24cb 100644 --- a/src/backend/access/spgist/spgvacuum.c +++ b/src/backend/access/spgist/spgvacuum.c @@ -125,8 +125,7 @@ static void vacuumLeafPage(spgBulkDeleteState *bds, Relation index, Buffer buffer, bool forPending) { - Page page = BufferGetPage(buffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + Page page = BufferGetPage(buffer); spgxlogVacuumLeaf xlrec; OffsetNumber toDead[MaxIndexTuplesPerPage]; OffsetNumber toPlaceholder[MaxIndexTuplesPerPage]; @@ -406,8 +405,7 @@ vacuumLeafPage(spgBulkDeleteState *bds, Relation index, Buffer buffer, static void vacuumLeafRoot(spgBulkDeleteState *bds, Relation index, Buffer buffer) { - Page page = BufferGetPage(buffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + Page page = BufferGetPage(buffer); spgxlogVacuumRoot xlrec; OffsetNumber toDelete[MaxIndexTuplesPerPage]; OffsetNumber i, @@ -492,8 +490,7 @@ vacuumLeafRoot(spgBulkDeleteState *bds, Relation index, Buffer buffer) static void vacuumRedirectAndPlaceholder(Relation index, Buffer buffer) { - Page page = BufferGetPage(buffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + Page page = BufferGetPage(buffer); SpGistPageOpaque opaque = SpGistPageGetOpaque(page); OffsetNumber i, max = PageGetMaxOffsetNumber(page), @@ -618,7 +615,7 @@ spgvacuumpage(spgBulkDeleteState *bds, BlockNumber blkno) buffer = ReadBufferExtended(index, MAIN_FORKNUM, blkno, RBM_NORMAL, bds->info->strategy); LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE); - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = (Page) BufferGetPage(buffer); if (PageIsNew(page)) { @@ -699,7 +696,7 @@ spgprocesspending(spgBulkDeleteState *bds) buffer = ReadBufferExtended(index, MAIN_FORKNUM, blkno, RBM_NORMAL, bds->info->strategy); LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE); - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = (Page) BufferGetPage(buffer); if (PageIsNew(page) || SpGistPageIsDeleted(page)) { diff --git a/src/backend/access/spgist/spgxlog.c b/src/backend/access/spgist/spgxlog.c index b5fc2663f03..01a4e0f2528 100644 --- a/src/backend/access/spgist/spgxlog.c +++ b/src/backend/access/spgist/spgxlog.c @@ -79,7 +79,7 @@ spgRedoCreateIndex(XLogReaderState *record) buffer = XLogInitBufferForRedo(record, 0); Assert(BufferGetBlockNumber(buffer) == SPGIST_METAPAGE_BLKNO); - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = (Page) BufferGetPage(buffer); SpGistInitMetapage(page); PageSetLSN(page, lsn); MarkBufferDirty(buffer); @@ -88,7 +88,7 @@ spgRedoCreateIndex(XLogReaderState *record) buffer = XLogInitBufferForRedo(record, 1); Assert(BufferGetBlockNumber(buffer) == SPGIST_ROOT_BLKNO); SpGistInitBuffer(buffer, SPGIST_LEAF); - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = (Page) BufferGetPage(buffer); PageSetLSN(page, lsn); MarkBufferDirty(buffer); UnlockReleaseBuffer(buffer); @@ -96,7 +96,7 @@ spgRedoCreateIndex(XLogReaderState *record) buffer = XLogInitBufferForRedo(record, 2); Assert(BufferGetBlockNumber(buffer) == SPGIST_NULL_BLKNO); SpGistInitBuffer(buffer, SPGIST_LEAF | SPGIST_NULLS); - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = (Page) BufferGetPage(buffer); PageSetLSN(page, lsn); MarkBufferDirty(buffer); UnlockReleaseBuffer(buffer); @@ -136,7 +136,7 @@ spgRedoAddLeaf(XLogReaderState *record) if (action == BLK_NEEDS_REDO) { - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); /* insert new tuple */ if (xldata->offnumLeaf != xldata->offnumHeadLeaf) @@ -183,7 +183,7 @@ spgRedoAddLeaf(XLogReaderState *record) XLogRecGetBlockTag(record, 0, NULL, NULL, &blknoLeaf); - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); tuple = (SpGistInnerTuple) PageGetItem(page, PageGetItemId(page, xldata->offnumParent)); @@ -249,7 +249,7 @@ spgRedoMoveLeafs(XLogReaderState *record) { int i; - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); for (i = 0; i < nInsert; i++) { @@ -278,7 +278,7 @@ spgRedoMoveLeafs(XLogReaderState *record) /* Delete tuples from the source page, inserting a redirection pointer */ if (XLogReadBufferForRedo(record, 0, &buffer) == BLK_NEEDS_REDO) { - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); spgPageIndexMultiDelete(&state, page, toDelete, xldata->nMoves, state.isBuild ? SPGIST_PLACEHOLDER : SPGIST_REDIRECT, @@ -297,7 +297,7 @@ spgRedoMoveLeafs(XLogReaderState *record) { SpGistInnerTuple tuple; - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); tuple = (SpGistInnerTuple) PageGetItem(page, PageGetItemId(page, xldata->offnumParent)); @@ -338,7 +338,7 @@ spgRedoAddNode(XLogReaderState *record) Assert(xldata->parentBlk == -1); if (XLogReadBufferForRedo(record, 0, &buffer) == BLK_NEEDS_REDO) { - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); PageIndexTupleDelete(page, xldata->offnum); if (PageAddItem(page, (Item) innerTuple, innerTupleHdr.size, @@ -381,7 +381,7 @@ spgRedoAddNode(XLogReaderState *record) action = XLogReadBufferForRedo(record, 1, &buffer); if (action == BLK_NEEDS_REDO) { - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); addOrReplaceTuple(page, (Item) innerTuple, innerTupleHdr.size, xldata->offnumNew); @@ -410,7 +410,7 @@ spgRedoAddNode(XLogReaderState *record) { SpGistDeadTuple dt; - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); if (state.isBuild) dt = spgFormDeadTuple(&state, SPGIST_PLACEHOLDER, @@ -462,7 +462,7 @@ spgRedoAddNode(XLogReaderState *record) { SpGistInnerTuple parentTuple; - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); parentTuple = (SpGistInnerTuple) PageGetItem(page, PageGetItemId(page, xldata->offnumParent)); @@ -522,7 +522,7 @@ spgRedoSplitTuple(XLogReaderState *record) action = XLogReadBufferForRedo(record, 1, &buffer); if (action == BLK_NEEDS_REDO) { - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); addOrReplaceTuple(page, (Item) postfixTuple, postfixTupleHdr.size, xldata->offnumPostfix); @@ -537,7 +537,7 @@ spgRedoSplitTuple(XLogReaderState *record) /* now handle the original page */ if (XLogReadBufferForRedo(record, 0, &buffer) == BLK_NEEDS_REDO) { - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); PageIndexTupleDelete(page, xldata->offnumPrefix); if (PageAddItem(page, (Item) prefixTuple, prefixTupleHdr.size, @@ -608,7 +608,7 @@ spgRedoPickSplit(XLogReaderState *record) { /* just re-init the source page */ srcBuffer = XLogInitBufferForRedo(record, 0); - srcPage = BufferGetPage(srcBuffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + srcPage = (Page) BufferGetPage(srcBuffer); SpGistInitBuffer(srcBuffer, SPGIST_LEAF | (xldata->storesNulls ? SPGIST_NULLS : 0)); @@ -625,7 +625,7 @@ spgRedoPickSplit(XLogReaderState *record) srcPage = NULL; if (XLogReadBufferForRedo(record, 0, &srcBuffer) == BLK_NEEDS_REDO) { - srcPage = BufferGetPage(srcBuffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + srcPage = BufferGetPage(srcBuffer); /* * We have it a bit easier here than in doPickSplit(), because we @@ -661,8 +661,7 @@ spgRedoPickSplit(XLogReaderState *record) { /* just re-init the dest page */ destBuffer = XLogInitBufferForRedo(record, 1); - destPage = BufferGetPage(destBuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + destPage = (Page) BufferGetPage(destBuffer); SpGistInitBuffer(destBuffer, SPGIST_LEAF | (xldata->storesNulls ? SPGIST_NULLS : 0)); @@ -675,8 +674,7 @@ spgRedoPickSplit(XLogReaderState *record) * full-page-image case, but for safety let's hold it till later. */ if (XLogReadBufferForRedo(record, 1, &destBuffer) == BLK_NEEDS_REDO) - destPage = BufferGetPage(destBuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + destPage = (Page) BufferGetPage(destBuffer); else destPage = NULL; /* don't do any page updates */ } @@ -724,7 +722,7 @@ spgRedoPickSplit(XLogReaderState *record) if (action == BLK_NEEDS_REDO) { - page = BufferGetPage(innerBuffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(innerBuffer); addOrReplaceTuple(page, (Item) innerTuple, innerTupleHdr.size, xldata->offnumInner); @@ -764,8 +762,7 @@ spgRedoPickSplit(XLogReaderState *record) { SpGistInnerTuple parent; - page = BufferGetPage(parentBuffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(parentBuffer); parent = (SpGistInnerTuple) PageGetItem(page, PageGetItemId(page, xldata->offnumParent)); @@ -816,7 +813,7 @@ spgRedoVacuumLeaf(XLogReaderState *record) if (XLogReadBufferForRedo(record, 0, &buffer) == BLK_NEEDS_REDO) { - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); spgPageIndexMultiDelete(&state, page, toDead, xldata->nDead, @@ -879,7 +876,7 @@ spgRedoVacuumRoot(XLogReaderState *record) if (XLogReadBufferForRedo(record, 0, &buffer) == BLK_NEEDS_REDO) { - page = BufferGetPage(buffer, NULL, NULL, BGP_NO_SNAPSHOT_TEST); + page = BufferGetPage(buffer); /* The tuple numbers are in order */ PageIndexMultiDelete(page, toDelete, xldata->nDelete); @@ -920,8 +917,7 @@ spgRedoVacuumRedirect(XLogReaderState *record) if (XLogReadBufferForRedo(record, 0, &buffer) == BLK_NEEDS_REDO) { - Page page = BufferGetPage(buffer, NULL, NULL, - BGP_NO_SNAPSHOT_TEST); + Page page = BufferGetPage(buffer); SpGistPageOpaque opaque = SpGistPageGetOpaque(page); int i; |