diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2025-01-20 10:53:47 +0100 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2025-01-20 11:06:57 +0100 |
commit | 4f4a1d853a5c2d31f11c56939c44aa917e77c1da (patch) | |
tree | 17800255020fa2e30a8c4c1786140c9786ac82cc /src/backend | |
parent | 6e4df237fbb532e7807cdd97f8b0b0d85093b9ee (diff) | |
download | postgresql-4f4a1d853a5c2d31f11c56939c44aa917e77c1da.tar.gz postgresql-4f4a1d853a5c2d31f11c56939c44aa917e77c1da.zip |
Add const qualifiers to bufpage.h
This makes use of the new PageData type.
PageGetSpecialPointer() had to be turned back into a macro, because it
is used in a way that sometimes it takes const and returns const and
sometimes takes non-const and returns non-const.
Discussion: https://www.postgresql.org/message-id/flat/692ee0da-49da-4d32-8dca-da224cc2800e@eisentraut.org
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/storage/page/bufpage.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/backend/storage/page/bufpage.c b/src/backend/storage/page/bufpage.c index 30d059c88b5..a931cdba151 100644 --- a/src/backend/storage/page/bufpage.c +++ b/src/backend/storage/page/bufpage.c @@ -85,9 +85,9 @@ PageInit(Page page, Size pageSize, Size specialSize) * to pgstat. */ bool -PageIsVerifiedExtended(Page page, BlockNumber blkno, int flags) +PageIsVerifiedExtended(const PageData *page, BlockNumber blkno, int flags) { - PageHeader p = (PageHeader) page; + const PageHeaderData *p = (const PageHeaderData *) page; size_t *pagebytes; bool checksum_failure = false; bool header_sane = false; @@ -351,7 +351,7 @@ PageAddItemExtended(Page page, * The returned page is not initialized at all; caller must do that. */ Page -PageGetTempPage(Page page) +PageGetTempPage(const PageData *page) { Size pageSize; Page temp; @@ -368,7 +368,7 @@ PageGetTempPage(Page page) * The page is initialized by copying the contents of the given page. */ Page -PageGetTempPageCopy(Page page) +PageGetTempPageCopy(const PageData *page) { Size pageSize; Page temp; @@ -388,7 +388,7 @@ PageGetTempPageCopy(Page page) * given page, and the special space is copied from the given page. */ Page -PageGetTempPageCopySpecial(Page page) +PageGetTempPageCopySpecial(const PageData *page) { Size pageSize; Page temp; @@ -893,16 +893,16 @@ PageTruncateLinePointerArray(Page page) * PageGetHeapFreeSpace on heap pages. */ Size -PageGetFreeSpace(Page page) +PageGetFreeSpace(const PageData *page) { + const PageHeaderData *phdr = (const PageHeaderData *) page; int space; /* * Use signed arithmetic here so that we behave sensibly if pd_lower > * pd_upper. */ - space = (int) ((PageHeader) page)->pd_upper - - (int) ((PageHeader) page)->pd_lower; + space = (int) phdr->pd_upper - (int) phdr->pd_lower; if (space < (int) sizeof(ItemIdData)) return 0; @@ -920,16 +920,16 @@ PageGetFreeSpace(Page page) * PageGetHeapFreeSpace on heap pages. */ Size -PageGetFreeSpaceForMultipleTuples(Page page, int ntups) +PageGetFreeSpaceForMultipleTuples(const PageData *page, int ntups) { + const PageHeaderData *phdr = (const PageHeaderData *) page; int space; /* * Use signed arithmetic here so that we behave sensibly if pd_lower > * pd_upper. */ - space = (int) ((PageHeader) page)->pd_upper - - (int) ((PageHeader) page)->pd_lower; + space = (int) phdr->pd_upper - (int) phdr->pd_lower; if (space < (int) (ntups * sizeof(ItemIdData))) return 0; @@ -944,16 +944,16 @@ PageGetFreeSpaceForMultipleTuples(Page page, int ntups) * without any consideration for adding/removing line pointers. */ Size -PageGetExactFreeSpace(Page page) +PageGetExactFreeSpace(const PageData *page) { + const PageHeaderData *phdr = (const PageHeaderData *) page; int space; /* * Use signed arithmetic here so that we behave sensibly if pd_lower > * pd_upper. */ - space = (int) ((PageHeader) page)->pd_upper - - (int) ((PageHeader) page)->pd_lower; + space = (int) phdr->pd_upper - (int) phdr->pd_lower; if (space < 0) return 0; @@ -977,7 +977,7 @@ PageGetExactFreeSpace(Page page) * on the number of line pointers, we make this extra check.) */ Size -PageGetHeapFreeSpace(Page page) +PageGetHeapFreeSpace(const PageData *page) { Size space; @@ -1001,7 +1001,7 @@ PageGetHeapFreeSpace(Page page) */ for (offnum = FirstOffsetNumber; offnum <= nline; offnum = OffsetNumberNext(offnum)) { - ItemId lp = PageGetItemId(page, offnum); + ItemId lp = PageGetItemId(unconstify(PageData *, page), offnum); if (!ItemIdIsUsed(lp)) break; |