aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2025-01-20 10:53:47 +0100
committerPeter Eisentraut <peter@eisentraut.org>2025-01-20 11:06:57 +0100
commit4f4a1d853a5c2d31f11c56939c44aa917e77c1da (patch)
tree17800255020fa2e30a8c4c1786140c9786ac82cc /src/backend
parent6e4df237fbb532e7807cdd97f8b0b0d85093b9ee (diff)
downloadpostgresql-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.c32
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;