Skip to content

Commit 443a8e4

Browse files
committed
Add some more use of Page/PageData rather than char *
Discussion: https://www.postgresql.org/message-id/flat/692ee0da-49da-4d32-8dca-da224cc2800e@eisentraut.org
1 parent 4f4a1d8 commit 443a8e4

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

src/backend/access/transam/xloginsert.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ typedef struct
7272
RelFileLocator rlocator; /* identifies the relation and block */
7373
ForkNumber forkno;
7474
BlockNumber block;
75-
const char *page; /* page content */
75+
const PageData *page; /* page content */
7676
uint32 rdata_len; /* total length of data in rdata chain */
7777
XLogRecData *rdata_head; /* head of the chain of data registered with
7878
* this block */
@@ -138,8 +138,8 @@ static XLogRecData *XLogRecordAssemble(RmgrId rmid, uint8 info,
138138
XLogRecPtr RedoRecPtr, bool doPageWrites,
139139
XLogRecPtr *fpw_lsn, int *num_fpi,
140140
bool *topxid_included);
141-
static bool XLogCompressBackupBlock(const char *page, uint16 hole_offset,
142-
uint16 hole_length, char *dest, uint16 *dlen);
141+
static bool XLogCompressBackupBlock(const PageData *page, uint16 hole_offset,
142+
uint16 hole_length, void *dest, uint16 *dlen);
143143

144144
/*
145145
* Begin constructing a WAL record. This must be called before the
@@ -307,7 +307,7 @@ XLogRegisterBuffer(uint8 block_id, Buffer buffer, uint8 flags)
307307
*/
308308
void
309309
XLogRegisterBlock(uint8 block_id, RelFileLocator *rlocator, ForkNumber forknum,
310-
BlockNumber blknum, const char *page, uint8 flags)
310+
BlockNumber blknum, const PageData *page, uint8 flags)
311311
{
312312
registered_buffer *regbuf;
313313

@@ -648,7 +648,7 @@ XLogRecordAssemble(RmgrId rmid, uint8 info,
648648

649649
if (include_image)
650650
{
651-
const char *page = regbuf->page;
651+
const PageData *page = regbuf->page;
652652
uint16 compressed_len = 0;
653653

654654
/*
@@ -941,13 +941,13 @@ XLogRecordAssemble(RmgrId rmid, uint8 info,
941941
* the length of compressed block image.
942942
*/
943943
static bool
944-
XLogCompressBackupBlock(const char *page, uint16 hole_offset, uint16 hole_length,
945-
char *dest, uint16 *dlen)
944+
XLogCompressBackupBlock(const PageData *page, uint16 hole_offset, uint16 hole_length,
945+
void *dest, uint16 *dlen)
946946
{
947947
int32 orig_len = BLCKSZ - hole_length;
948948
int32 len = -1;
949949
int32 extra_bytes = 0;
950-
const char *source;
950+
const void *source;
951951
PGAlignedBlock tmp;
952952

953953
if (hole_length != 0)

src/include/access/xloginsert.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include "access/xlogdefs.h"
1616
#include "storage/block.h"
1717
#include "storage/buf.h"
18+
#include "storage/bufpage.h"
1819
#include "storage/relfilelocator.h"
1920
#include "utils/relcache.h"
2021

@@ -47,16 +48,16 @@ extern void XLogEnsureRecordSpace(int max_block_id, int ndatas);
4748
extern void XLogRegisterData(const char *data, uint32 len);
4849
extern void XLogRegisterBuffer(uint8 block_id, Buffer buffer, uint8 flags);
4950
extern void XLogRegisterBlock(uint8 block_id, RelFileLocator *rlocator,
50-
ForkNumber forknum, BlockNumber blknum, const char *page,
51+
ForkNumber forknum, BlockNumber blknum, const PageData *page,
5152
uint8 flags);
5253
extern void XLogRegisterBufData(uint8 block_id, const char *data, uint32 len);
5354
extern void XLogResetInsertion(void);
5455
extern bool XLogCheckBufferNeedsBackup(Buffer buffer);
5556

5657
extern XLogRecPtr log_newpage(RelFileLocator *rlocator, ForkNumber forknum,
57-
BlockNumber blkno, char *page, bool page_std);
58+
BlockNumber blkno, Page page, bool page_std);
5859
extern void log_newpages(RelFileLocator *rlocator, ForkNumber forknum, int num_pages,
59-
BlockNumber *blknos, char **pages, bool page_std);
60+
BlockNumber *blknos, Page *pages, bool page_std);
6061
extern XLogRecPtr log_newpage_buffer(Buffer buffer, bool page_std);
6162
extern void log_newpage_range(Relation rel, ForkNumber forknum,
6263
BlockNumber startblk, BlockNumber endblk, bool page_std);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy