I was fiddling a bit with making some Page-related APIs const-proof,
which might involve changing something like "Page p" to "const PageData
*p", but I was surprised that a type PageData exists but it's an
unrelated type local to generic_xlog.c.
This patch renames that type to a more specific name XLogPageData. This
makes room for possibly adding another PageData type with the earlier
meaning, but that's not done here. But I think even without that, this
patch is a useful little cleanup that makes the code more consistent and
clear.From 5d13239e8a28f2909c03f5462cf912bb71249545 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <pe...@eisentraut.org>
Date: Wed, 2 Oct 2024 07:16:55 -0400
Subject: [PATCH] Rename PageData to XLogPageData
In the PostgreSQL C type naming schema, the type PageData should be
what the pointer of type Page points to. But in this case it's
actually an unrelated type local to generic_xlog.c. Rename that to a
more specific name. This makes room to possible add a PageData type
with the mentioned meaning, but this is not done here.
---
src/backend/access/transam/generic_xlog.c | 24 +++++++++++------------
src/tools/pgindent/typedefs.list | 2 +-
2 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/backend/access/transam/generic_xlog.c
b/src/backend/access/transam/generic_xlog.c
index e8522781631..b6572c28a34 100644
--- a/src/backend/access/transam/generic_xlog.c
+++ b/src/backend/access/transam/generic_xlog.c
@@ -55,7 +55,7 @@ typedef struct
char *image; /* copy of page image for
modification, do not
* do it
in-place to have aligned memory chunk */
char delta[MAX_DELTA_SIZE]; /* delta between page images */
-} PageData;
+} XLogPageData;
/*
* State of generic xlog record construction. Must be allocated at an I/O
@@ -66,17 +66,17 @@ struct GenericXLogState
/* Page images (properly aligned, must be first) */
PGIOAlignedBlock images[MAX_GENERIC_XLOG_PAGES];
/* Info about each page, see above */
- PageData pages[MAX_GENERIC_XLOG_PAGES];
+ XLogPageData pages[MAX_GENERIC_XLOG_PAGES];
bool isLogged;
};
-static void writeFragment(PageData *pageData, OffsetNumber offset,
+static void writeFragment(XLogPageData *pageData, OffsetNumber offset,
OffsetNumber length, const
char *data);
-static void computeRegionDelta(PageData *pageData,
+static void computeRegionDelta(XLogPageData *pageData,
const char *curpage,
const char *targetpage,
int targetStart, int
targetEnd,
int validStart, int
validEnd);
-static void computeDelta(PageData *pageData, Page curpage, Page targetpage);
+static void computeDelta(XLogPageData *pageData, Page curpage, Page
targetpage);
static void applyPageRedo(Page page, const char *delta, Size deltaSize);
@@ -87,7 +87,7 @@ static void applyPageRedo(Page page, const char *delta, Size
deltaSize);
* actual data (of length length).
*/
static void
-writeFragment(PageData *pageData, OffsetNumber offset, OffsetNumber length,
+writeFragment(XLogPageData *pageData, OffsetNumber offset, OffsetNumber length,
const char *data)
{
char *ptr = pageData->delta + pageData->deltaLen;
@@ -118,7 +118,7 @@ writeFragment(PageData *pageData, OffsetNumber offset,
OffsetNumber length,
* about the data-matching loops.
*/
static void
-computeRegionDelta(PageData *pageData,
+computeRegionDelta(XLogPageData *pageData,
const char *curpage, const char *targetpage,
int targetStart, int targetEnd,
int validStart, int validEnd)
@@ -225,7 +225,7 @@ computeRegionDelta(PageData *pageData,
* and store it in pageData's delta field.
*/
static void
-computeDelta(PageData *pageData, Page curpage, Page targetpage)
+computeDelta(XLogPageData *pageData, Page curpage, Page targetpage)
{
int targetLower = ((PageHeader)
targetpage)->pd_lower,
targetUpper = ((PageHeader)
targetpage)->pd_upper,
@@ -303,7 +303,7 @@ GenericXLogRegisterBuffer(GenericXLogState *state, Buffer
buffer, int flags)
/* Search array for existing entry or first unused slot */
for (block_id = 0; block_id < MAX_GENERIC_XLOG_PAGES; block_id++)
{
- PageData *page = &state->pages[block_id];
+ XLogPageData *page = &state->pages[block_id];
if (BufferIsInvalid(page->buffer))
{
@@ -352,7 +352,7 @@ GenericXLogFinish(GenericXLogState *state)
*/
for (i = 0; i < MAX_GENERIC_XLOG_PAGES; i++)
{
- PageData *pageData = &state->pages[i];
+ XLogPageData *pageData = &state->pages[i];
Page page;
PageHeader pageHeader;
@@ -401,7 +401,7 @@ GenericXLogFinish(GenericXLogState *state)
/* Set LSN */
for (i = 0; i < MAX_GENERIC_XLOG_PAGES; i++)
{
- PageData *pageData = &state->pages[i];
+ XLogPageData *pageData = &state->pages[i];
if (BufferIsInvalid(pageData->buffer))
continue;
@@ -415,7 +415,7 @@ GenericXLogFinish(GenericXLogState *state)
START_CRIT_SECTION();
for (i = 0; i < MAX_GENERIC_XLOG_PAGES; i++)
{
- PageData *pageData = &state->pages[i];
+ XLogPageData *pageData = &state->pages[i];
if (BufferIsInvalid(pageData->buffer))
continue;
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
index 5fabb127d7e..5311f101c40 100644
--- a/src/tools/pgindent/typedefs.list
+++ b/src/tools/pgindent/typedefs.list
@@ -1975,7 +1975,6 @@ PX_Combo
PX_HMAC
PX_MD
Page
-PageData
PageGistNSN
PageHeader
PageHeaderData
@@ -3204,6 +3203,7 @@ XLogDumpConfig
XLogDumpPrivate
XLogLongPageHeader
XLogLongPageHeaderData
+XLogPageData
XLogPageHeader
XLogPageHeaderData
XLogPageReadCB
--
2.46.2