diff options
author | Michael Paquier <michael@paquier.xyz> | 2022-04-01 13:24:50 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2022-04-01 13:24:50 +0900 |
commit | d16773cdc86210493a2874cb0cf93f3883fcda73 (patch) | |
tree | 24306ded63bd036dc2eb37be6f817048c986eccd /src/backend/access/nbtree/nbtsearch.c | |
parent | 73db8f4d17ed4efb7709f1cafd5b1dd0285b0842 (diff) | |
download | postgresql-d16773cdc86210493a2874cb0cf93f3883fcda73.tar.gz postgresql-d16773cdc86210493a2874cb0cf93f3883fcda73.zip |
Add macros in hash and btree AMs to get the special area of their pages
This makes the code more consistent with SpGiST, GiST and GIN, that
already use this style, and the idea is to make easier the introduction
of more sanity checks for each of these AM-specific macros. BRIN uses a
different set of macros to get a page's type and flags, so it has no
need for something similar.
Author: Matthias van de Meent
Discussion: https://postgr.es/m/CAEze2WjE3+tGO9Fs9+iZMU+z6mMZKo54W1Zt98WKqbEUHbHOBg@mail.gmail.com
Diffstat (limited to 'src/backend/access/nbtree/nbtsearch.c')
-rw-r--r-- | src/backend/access/nbtree/nbtsearch.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/backend/access/nbtree/nbtsearch.c b/src/backend/access/nbtree/nbtsearch.c index 9d82d4904d8..c74543bfde2 100644 --- a/src/backend/access/nbtree/nbtsearch.c +++ b/src/backend/access/nbtree/nbtsearch.c @@ -134,7 +134,7 @@ _bt_search(Relation rel, BTScanInsert key, Buffer *bufP, int access, /* if this is a leaf page, we're done */ page = BufferGetPage(*bufP); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); if (P_ISLEAF(opaque)) break; @@ -268,7 +268,7 @@ _bt_moveright(Relation rel, { page = BufferGetPage(buf); TestForOldSnapshot(snapshot, rel, page); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); if (P_RIGHTMOST(opaque)) break; @@ -347,7 +347,7 @@ _bt_binsrch(Relation rel, cmpval; page = BufferGetPage(buf); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); /* Requesting nextkey semantics while using scantid seems nonsensical */ Assert(!key->nextkey || key->scantid == NULL); @@ -451,7 +451,7 @@ _bt_binsrch_insert(Relation rel, BTInsertState insertstate) cmpval; page = BufferGetPage(insertstate->buf); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); Assert(P_ISLEAF(opaque)); Assert(!key->nextkey); @@ -659,7 +659,7 @@ _bt_compare(Relation rel, OffsetNumber offnum) { TupleDesc itupdesc = RelationGetDescr(rel); - BTPageOpaque opaque = (BTPageOpaque) PageGetSpecialPointer(page); + BTPageOpaque opaque = BTPageGetOpaque(page); IndexTuple itup; ItemPointer heapTid; ScanKey scankey; @@ -1536,7 +1536,7 @@ _bt_readpage(IndexScanDesc scan, ScanDirection dir, OffsetNumber offnum) Assert(BufferIsValid(so->currPos.buf)); page = BufferGetPage(so->currPos.buf); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); /* allow next page be processed by parallel worker */ if (scan->parallel_scan) @@ -2007,7 +2007,7 @@ _bt_readnextpage(IndexScanDesc scan, BlockNumber blkno, ScanDirection dir) so->currPos.buf = _bt_getbuf(rel, blkno, BT_READ); page = BufferGetPage(so->currPos.buf); TestForOldSnapshot(scan->xs_snapshot, rel, page); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); /* check for deleted page */ if (!P_IGNORE(opaque)) { @@ -2110,7 +2110,7 @@ _bt_readnextpage(IndexScanDesc scan, BlockNumber blkno, ScanDirection dir) */ page = BufferGetPage(so->currPos.buf); TestForOldSnapshot(scan->xs_snapshot, rel, page); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); if (!P_IGNORE(opaque)) { PredicateLockPage(rel, BufferGetBlockNumber(so->currPos.buf), scan->xs_snapshot); @@ -2191,7 +2191,7 @@ _bt_walk_left(Relation rel, Buffer buf, Snapshot snapshot) BTPageOpaque opaque; page = BufferGetPage(buf); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); for (;;) { @@ -2216,7 +2216,7 @@ _bt_walk_left(Relation rel, Buffer buf, Snapshot snapshot) buf = _bt_getbuf(rel, blkno, BT_READ); page = BufferGetPage(buf); TestForOldSnapshot(snapshot, rel, page); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); /* * If this isn't the page we want, walk right till we find what we @@ -2243,14 +2243,14 @@ _bt_walk_left(Relation rel, Buffer buf, Snapshot snapshot) buf = _bt_relandgetbuf(rel, buf, blkno, BT_READ); page = BufferGetPage(buf); TestForOldSnapshot(snapshot, rel, page); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); } /* Return to the original page to see what's up */ buf = _bt_relandgetbuf(rel, buf, obknum, BT_READ); page = BufferGetPage(buf); TestForOldSnapshot(snapshot, rel, page); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); if (P_ISDELETED(opaque)) { /* @@ -2268,7 +2268,7 @@ _bt_walk_left(Relation rel, Buffer buf, Snapshot snapshot) buf = _bt_relandgetbuf(rel, buf, blkno, BT_READ); page = BufferGetPage(buf); TestForOldSnapshot(snapshot, rel, page); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); if (!P_ISDELETED(opaque)) break; } @@ -2329,7 +2329,7 @@ _bt_get_endpoint(Relation rel, uint32 level, bool rightmost, page = BufferGetPage(buf); TestForOldSnapshot(snapshot, rel, page); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); for (;;) { @@ -2349,7 +2349,7 @@ _bt_get_endpoint(Relation rel, uint32 level, bool rightmost, buf = _bt_relandgetbuf(rel, buf, blkno, BT_READ); page = BufferGetPage(buf); TestForOldSnapshot(snapshot, rel, page); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); } /* Done? */ @@ -2372,7 +2372,7 @@ _bt_get_endpoint(Relation rel, uint32 level, bool rightmost, buf = _bt_relandgetbuf(rel, buf, blkno, BT_READ); page = BufferGetPage(buf); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); } return buf; @@ -2418,7 +2418,7 @@ _bt_endpoint(IndexScanDesc scan, ScanDirection dir) PredicateLockPage(rel, BufferGetBlockNumber(buf), scan->xs_snapshot); page = BufferGetPage(buf); - opaque = (BTPageOpaque) PageGetSpecialPointer(page); + opaque = BTPageGetOpaque(page); Assert(P_ISLEAF(opaque)); if (ScanDirectionIsForward(dir)) |