aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/nbtree/nbtpage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/nbtree/nbtpage.c')
-rw-r--r--src/backend/access/nbtree/nbtpage.c78
1 files changed, 39 insertions, 39 deletions
diff --git a/src/backend/access/nbtree/nbtpage.c b/src/backend/access/nbtree/nbtpage.c
index 67755d75acb..36b18047615 100644
--- a/src/backend/access/nbtree/nbtpage.c
+++ b/src/backend/access/nbtree/nbtpage.c
@@ -130,7 +130,7 @@ _bt_getroot(Relation rel, int access)
rootlevel = metad->btm_fastlevel;
rootbuf = _bt_getbuf(rel, rootblkno, BT_READ);
- rootpage = BufferGetPage(rootbuf);
+ rootpage = BufferGetPage(rootbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
rootopaque = (BTPageOpaque) PageGetSpecialPointer(rootpage);
/*
@@ -156,7 +156,7 @@ _bt_getroot(Relation rel, int access)
}
metabuf = _bt_getbuf(rel, BTREE_METAPAGE, BT_READ);
- metapg = BufferGetPage(metabuf);
+ metapg = BufferGetPage(metabuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
metaopaque = (BTPageOpaque) PageGetSpecialPointer(metapg);
metad = BTPageGetMeta(metapg);
@@ -213,7 +213,7 @@ _bt_getroot(Relation rel, int access)
*/
rootbuf = _bt_getbuf(rel, P_NEW, BT_WRITE);
rootblkno = BufferGetBlockNumber(rootbuf);
- rootpage = BufferGetPage(rootbuf);
+ rootpage = BufferGetPage(rootbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
rootopaque = (BTPageOpaque) PageGetSpecialPointer(rootpage);
rootopaque->btpo_prev = rootopaque->btpo_next = P_NONE;
rootopaque->btpo_flags = (BTP_LEAF | BTP_ROOT);
@@ -295,7 +295,7 @@ _bt_getroot(Relation rel, int access)
for (;;)
{
rootbuf = _bt_relandgetbuf(rel, rootbuf, rootblkno, BT_READ);
- rootpage = BufferGetPage(rootbuf);
+ rootpage = BufferGetPage(rootbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
rootopaque = (BTPageOpaque) PageGetSpecialPointer(rootpage);
if (!P_IGNORE(rootopaque))
@@ -360,7 +360,7 @@ _bt_gettrueroot(Relation rel)
rel->rd_amcache = NULL;
metabuf = _bt_getbuf(rel, BTREE_METAPAGE, BT_READ);
- metapg = BufferGetPage(metabuf);
+ metapg = BufferGetPage(metabuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
metaopaque = (BTPageOpaque) PageGetSpecialPointer(metapg);
metad = BTPageGetMeta(metapg);
@@ -397,7 +397,7 @@ _bt_gettrueroot(Relation rel)
for (;;)
{
rootbuf = _bt_relandgetbuf(rel, rootbuf, rootblkno, BT_READ);
- rootpage = BufferGetPage(rootbuf);
+ rootpage = BufferGetPage(rootbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
rootopaque = (BTPageOpaque) PageGetSpecialPointer(rootpage);
if (!P_IGNORE(rootopaque))
@@ -446,7 +446,7 @@ _bt_getrootheight(Relation rel)
BTPageOpaque metaopaque;
metabuf = _bt_getbuf(rel, BTREE_METAPAGE, BT_READ);
- metapg = BufferGetPage(metabuf);
+ metapg = BufferGetPage(metabuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
metaopaque = (BTPageOpaque) PageGetSpecialPointer(metapg);
metad = BTPageGetMeta(metapg);
@@ -501,7 +501,7 @@ _bt_getrootheight(Relation rel)
void
_bt_checkpage(Relation rel, Buffer buf)
{
- Page page = BufferGetPage(buf);
+ Page page = BufferGetPage(buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
/*
* ReadBuffer verifies that every newly-read page passes
@@ -616,7 +616,7 @@ _bt_getbuf(Relation rel, BlockNumber blkno, int access)
buf = ReadBuffer(rel, blkno);
if (ConditionalLockBuffer(buf))
{
- page = BufferGetPage(buf);
+ page = BufferGetPage(buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
if (_bt_page_recyclable(page))
{
/*
@@ -674,7 +674,7 @@ _bt_getbuf(Relation rel, BlockNumber blkno, int access)
UnlockRelationForExtension(rel, ExclusiveLock);
/* Initialize the new page before returning it */
- page = BufferGetPage(buf);
+ page = BufferGetPage(buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
Assert(PageIsNew(page));
_bt_pageinit(page, BufferGetPageSize(buf));
}
@@ -789,7 +789,7 @@ _bt_delitems_vacuum(Relation rel, Buffer buf,
OffsetNumber *itemnos, int nitems,
BlockNumber lastBlockVacuumed)
{
- Page page = BufferGetPage(buf);
+ Page page = BufferGetPage(buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
BTPageOpaque opaque;
/* No ereport(ERROR) until changes are logged */
@@ -862,7 +862,7 @@ _bt_delitems_delete(Relation rel, Buffer buf,
OffsetNumber *itemnos, int nitems,
Relation heapRel)
{
- Page page = BufferGetPage(buf);
+ Page page = BufferGetPage(buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
BTPageOpaque opaque;
/* Shouldn't be called unless there's something to do */
@@ -931,7 +931,7 @@ _bt_is_page_halfdead(Relation rel, BlockNumber blk)
bool result;
buf = _bt_getbuf(rel, blk, BT_READ);
- page = BufferGetPage(buf);
+ page = BufferGetPage(buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
result = P_ISHALFDEAD(opaque);
@@ -991,7 +991,7 @@ _bt_lock_branch_parent(Relation rel, BlockNumber child, BTStack stack,
parent = stack->bts_blkno;
poffset = stack->bts_offset;
- page = BufferGetPage(pbuf);
+ page = BufferGetPage(pbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
maxoff = PageGetMaxOffsetNumber(page);
@@ -1035,7 +1035,7 @@ _bt_lock_branch_parent(Relation rel, BlockNumber child, BTStack stack,
BTPageOpaque lopaque;
lbuf = _bt_getbuf(rel, leftsib, BT_READ);
- lpage = BufferGetPage(lbuf);
+ lpage = BufferGetPage(lbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
lopaque = (BTPageOpaque) PageGetSpecialPointer(lpage);
/*
@@ -1126,7 +1126,7 @@ _bt_pagedel(Relation rel, Buffer buf)
for (;;)
{
- page = BufferGetPage(buf);
+ page = BufferGetPage(buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
/*
@@ -1231,7 +1231,7 @@ _bt_pagedel(Relation rel, Buffer buf)
Page lpage;
lbuf = _bt_getbuf(rel, leftsib, BT_READ);
- lpage = BufferGetPage(lbuf);
+ lpage = BufferGetPage(lbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
lopaque = (BTPageOpaque) PageGetSpecialPointer(lpage);
/*
@@ -1332,7 +1332,7 @@ _bt_mark_page_halfdead(Relation rel, Buffer leafbuf, BTStack stack)
IndexTuple itup;
IndexTupleData trunctuple;
- page = BufferGetPage(leafbuf);
+ page = BufferGetPage(leafbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
Assert(!P_RIGHTMOST(opaque) && !P_ISROOT(opaque) && !P_ISDELETED(opaque) &&
@@ -1385,7 +1385,7 @@ _bt_mark_page_halfdead(Relation rel, Buffer leafbuf, BTStack stack)
* contents. The test on the next-child downlink is known to sometimes
* fail in the field, though.
*/
- page = BufferGetPage(topparent);
+ page = BufferGetPage(topparent, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
#ifdef USE_ASSERT_CHECKING
@@ -1417,7 +1417,7 @@ _bt_mark_page_halfdead(Relation rel, Buffer leafbuf, BTStack stack)
* to copy the right sibling's downlink over the target downlink, and then
* delete the following item.
*/
- page = BufferGetPage(topparent);
+ page = BufferGetPage(topparent, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
itemid = PageGetItemId(page, topoff);
@@ -1432,7 +1432,7 @@ _bt_mark_page_halfdead(Relation rel, Buffer leafbuf, BTStack stack)
* highest internal page in the branch we're deleting. We use the tid of
* the high key to store it.
*/
- page = BufferGetPage(leafbuf);
+ page = BufferGetPage(leafbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
opaque->btpo_flags |= BTP_HALF_DEAD;
@@ -1469,7 +1469,7 @@ _bt_mark_page_halfdead(Relation rel, Buffer leafbuf, BTStack stack)
XLogRegisterBuffer(0, leafbuf, REGBUF_WILL_INIT);
XLogRegisterBuffer(1, topparent, REGBUF_STANDARD);
- page = BufferGetPage(leafbuf);
+ page = BufferGetPage(leafbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
xlrec.leftblk = opaque->btpo_prev;
xlrec.rightblk = opaque->btpo_next;
@@ -1478,9 +1478,9 @@ _bt_mark_page_halfdead(Relation rel, Buffer leafbuf, BTStack stack)
recptr = XLogInsert(RM_BTREE_ID, XLOG_BTREE_MARK_PAGE_HALFDEAD);
- page = BufferGetPage(topparent);
+ page = BufferGetPage(topparent, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
PageSetLSN(page, recptr);
- page = BufferGetPage(leafbuf);
+ page = BufferGetPage(leafbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
PageSetLSN(page, recptr);
}
@@ -1525,7 +1525,7 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, bool *rightsib_empty)
ItemPointer leafhikey;
BlockNumber nextchild;
- page = BufferGetPage(leafbuf);
+ page = BufferGetPage(leafbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
Assert(P_ISLEAF(opaque) && P_ISHALFDEAD(opaque));
@@ -1551,7 +1551,7 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, bool *rightsib_empty)
/* fetch the block number of the topmost parent's left sibling */
buf = _bt_getbuf(rel, target, BT_READ);
- page = BufferGetPage(buf);
+ page = BufferGetPage(buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
leftsib = opaque->btpo_prev;
targetlevel = opaque->btpo.level;
@@ -1589,7 +1589,7 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, bool *rightsib_empty)
if (leftsib != P_NONE)
{
lbuf = _bt_getbuf(rel, leftsib, BT_WRITE);
- page = BufferGetPage(lbuf);
+ page = BufferGetPage(lbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
while (P_ISDELETED(opaque) || opaque->btpo_next != target)
{
@@ -1603,7 +1603,7 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, bool *rightsib_empty)
return false;
}
lbuf = _bt_getbuf(rel, leftsib, BT_WRITE);
- page = BufferGetPage(lbuf);
+ page = BufferGetPage(lbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
}
}
@@ -1616,7 +1616,7 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, bool *rightsib_empty)
* empty page.
*/
LockBuffer(buf, BT_WRITE);
- page = BufferGetPage(buf);
+ page = BufferGetPage(buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
/*
@@ -1660,7 +1660,7 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, bool *rightsib_empty)
*/
rightsib = opaque->btpo_next;
rbuf = _bt_getbuf(rel, rightsib, BT_WRITE);
- page = BufferGetPage(rbuf);
+ page = BufferGetPage(rbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
if (opaque->btpo_prev != target)
elog(ERROR, "right sibling's left-link doesn't match: "
@@ -1684,13 +1684,13 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, bool *rightsib_empty)
*/
if (leftsib == P_NONE && rightsib_is_rightmost)
{
- page = BufferGetPage(rbuf);
+ page = BufferGetPage(rbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
if (P_RIGHTMOST(opaque))
{
/* rightsib will be the only one left on the level */
metabuf = _bt_getbuf(rel, BTREE_METAPAGE, BT_WRITE);
- metapg = BufferGetPage(metabuf);
+ metapg = BufferGetPage(metabuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
metad = BTPageGetMeta(metapg);
/*
@@ -1721,12 +1721,12 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, bool *rightsib_empty)
*/
if (BufferIsValid(lbuf))
{
- page = BufferGetPage(lbuf);
+ page = BufferGetPage(lbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
Assert(opaque->btpo_next == target);
opaque->btpo_next = rightsib;
}
- page = BufferGetPage(rbuf);
+ page = BufferGetPage(rbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
Assert(opaque->btpo_prev == target);
opaque->btpo_prev = leftsib;
@@ -1754,7 +1754,7 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, bool *rightsib_empty)
* will continue to do so, holding back RecentGlobalXmin, for the duration
* of that scan.
*/
- page = BufferGetPage(buf);
+ page = BufferGetPage(buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
opaque = (BTPageOpaque) PageGetSpecialPointer(page);
opaque->btpo_flags &= ~BTP_HALF_DEAD;
opaque->btpo_flags |= BTP_DELETED;
@@ -1826,18 +1826,18 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, bool *rightsib_empty)
{
PageSetLSN(metapg, recptr);
}
- page = BufferGetPage(rbuf);
+ page = BufferGetPage(rbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
PageSetLSN(page, recptr);
- page = BufferGetPage(buf);
+ page = BufferGetPage(buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
PageSetLSN(page, recptr);
if (BufferIsValid(lbuf))
{
- page = BufferGetPage(lbuf);
+ page = BufferGetPage(lbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
PageSetLSN(page, recptr);
}
if (target != leafblkno)
{
- page = BufferGetPage(leafbuf);
+ page = BufferGetPage(leafbuf, NULL, NULL, BGP_NO_SNAPSHOT_TEST);
PageSetLSN(page, recptr);
}
}