mirror of
https://github.com/postgres/postgres.git
synced 2025-10-27 00:12:01 +03:00
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
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user