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

+8-8
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

+4-3
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)