From d16773cdc86210493a2874cb0cf93f3883fcda73 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Fri, 1 Apr 2022 13:24:50 +0900 Subject: 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 --- contrib/pageinspect/btreefuncs.c | 6 +++--- contrib/pageinspect/hashfuncs.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'contrib/pageinspect') diff --git a/contrib/pageinspect/btreefuncs.c b/contrib/pageinspect/btreefuncs.c index 7651c59bbf9..3daa31c84da 100644 --- a/contrib/pageinspect/btreefuncs.c +++ b/contrib/pageinspect/btreefuncs.c @@ -93,7 +93,7 @@ GetBTPageStatistics(BlockNumber blkno, Buffer buffer, BTPageStat *stat) Page page = BufferGetPage(buffer); PageHeader phdr = (PageHeader) page; OffsetNumber maxoff = PageGetMaxOffsetNumber(page); - BTPageOpaque opaque = (BTPageOpaque) PageGetSpecialPointer(page); + BTPageOpaque opaque = BTPageGetOpaque(page); int item_size = 0; int off; @@ -525,7 +525,7 @@ bt_page_items_internal(PG_FUNCTION_ARGS, enum pageinspect_version ext_version) uargs->offset = FirstOffsetNumber; - opaque = (BTPageOpaque) PageGetSpecialPointer(uargs->page); + opaque = BTPageGetOpaque(uargs->page); if (!P_ISDELETED(opaque)) fctx->max_calls = PageGetMaxOffsetNumber(uargs->page); @@ -622,7 +622,7 @@ bt_page_items_bytea(PG_FUNCTION_ARGS) (int) MAXALIGN(sizeof(BTPageOpaqueData)), (int) PageGetSpecialSize(uargs->page)))); - opaque = (BTPageOpaque) PageGetSpecialPointer(uargs->page); + opaque = BTPageGetOpaque(uargs->page); if (P_ISMETA(opaque)) ereport(ERROR, diff --git a/contrib/pageinspect/hashfuncs.c b/contrib/pageinspect/hashfuncs.c index 6de21d66089..69af7b962ff 100644 --- a/contrib/pageinspect/hashfuncs.c +++ b/contrib/pageinspect/hashfuncs.c @@ -72,7 +72,7 @@ verify_hash_page(bytea *raw_page, int flags) (int) MAXALIGN(sizeof(HashPageOpaqueData)), (int) PageGetSpecialSize(page)))); - pageopaque = (HashPageOpaque) PageGetSpecialPointer(page); + pageopaque = HashPageGetOpaque(page); if (pageopaque->hasho_page_id != HASHO_PAGE_ID) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), @@ -154,7 +154,7 @@ static void GetHashPageStatistics(Page page, HashPageStat *stat) { OffsetNumber maxoff = PageGetMaxOffsetNumber(page); - HashPageOpaque opaque = (HashPageOpaque) PageGetSpecialPointer(page); + HashPageOpaque opaque = HashPageGetOpaque(page); int off; stat->dead_items = stat->live_items = 0; @@ -206,7 +206,7 @@ hash_page_type(PG_FUNCTION_ARGS) type = "unused"; else { - opaque = (HashPageOpaque) PageGetSpecialPointer(page); + opaque = HashPageGetOpaque(page); /* page type (flags) */ pagetype = opaque->hasho_flag & LH_PAGE_TYPE; -- cgit v1.2.3