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

Reply via email to