Skip to content

Commit 0ef0b67

Browse files
committed
Change the signature of rm_desc so that it's passed a XLogRecord.
Just feels more natural, and is more consistent with rm_redo.
1 parent f3fdd25 commit 0ef0b67

37 files changed

+82
-69
lines changed

contrib/pg_xlogdump/pg_xlogdump.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ XLogDumpDisplayRecord(XLogDumpConfig *config, XLogRecPtr ReadRecPtr, XLogRecord
351351
!!(XLR_BKP_BLOCK(3) & record->xl_info));
352352

353353
/* the desc routine will printf the description directly to stdout */
354-
desc->rm_desc(NULL, record->xl_info, XLogRecGetData(record));
354+
desc->rm_desc(NULL, record);
355355

356356
putchar('\n');
357357

contrib/pg_xlogdump/rmgrdesc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
typedef struct RmgrDescData
1414
{
1515
const char *rm_name;
16-
void (*rm_desc) (StringInfo buf, uint8 xl_info, char *rec);
16+
void (*rm_desc) (StringInfo buf, XLogRecord *record);
1717
} RmgrDescData;
1818

1919
extern const RmgrDescData RmgrDescTable[];

src/backend/access/rmgrdesc/clogdesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818

1919

2020
void
21-
clog_desc(StringInfo buf, uint8 xl_info, char *rec)
21+
clog_desc(StringInfo buf, XLogRecord *record)
2222
{
23-
uint8 info = xl_info & ~XLR_INFO_MASK;
23+
char *rec = XLogRecGetData(record);
24+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
2425

2526
if (info == CLOG_ZEROPAGE)
2627
{

src/backend/access/rmgrdesc/dbasedesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919

2020

2121
void
22-
dbase_desc(StringInfo buf, uint8 xl_info, char *rec)
22+
dbase_desc(StringInfo buf, XLogRecord *record)
2323
{
24-
uint8 info = xl_info & ~XLR_INFO_MASK;
24+
char *rec = XLogRecGetData(record);
25+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
2526

2627
if (info == XLOG_DBASE_CREATE)
2728
{

src/backend/access/rmgrdesc/gindesc.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,10 @@ desc_recompress_leaf(StringInfo buf, ginxlogRecompressDataLeaf *insertData)
7777
}
7878

7979
void
80-
gin_desc(StringInfo buf, uint8 xl_info, char *rec)
80+
gin_desc(StringInfo buf, XLogRecord *record)
8181
{
82-
uint8 info = xl_info & ~XLR_INFO_MASK;
82+
char *rec = XLogRecGetData(record);
83+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
8384

8485
switch (info)
8586
{
@@ -121,7 +122,7 @@ gin_desc(StringInfo buf, uint8 xl_info, char *rec)
121122
ginxlogRecompressDataLeaf *insertData =
122123
(ginxlogRecompressDataLeaf *) payload;
123124

124-
if (xl_info & XLR_BKP_BLOCK(0))
125+
if (record->xl_info & XLR_BKP_BLOCK(0))
125126
appendStringInfo(buf, " (full page image)");
126127
else
127128
desc_recompress_leaf(buf, insertData);
@@ -159,7 +160,7 @@ gin_desc(StringInfo buf, uint8 xl_info, char *rec)
159160

160161
appendStringInfoString(buf, "Vacuum data leaf page, ");
161162
desc_node(buf, xlrec->node, xlrec->blkno);
162-
if (xl_info & XLR_BKP_BLOCK(0))
163+
if (record->xl_info & XLR_BKP_BLOCK(0))
163164
appendStringInfo(buf, " (full page image)");
164165
else
165166
desc_recompress_leaf(buf, &xlrec->data);

src/backend/access/rmgrdesc/gistdesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,10 @@ out_gistxlogPageSplit(StringInfo buf, gistxlogPageSplit *xlrec)
4242
}
4343

4444
void
45-
gist_desc(StringInfo buf, uint8 xl_info, char *rec)
45+
gist_desc(StringInfo buf, XLogRecord *record)
4646
{
47-
uint8 info = xl_info & ~XLR_INFO_MASK;
47+
char *rec = XLogRecGetData(record);
48+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
4849

4950
switch (info)
5051
{

src/backend/access/rmgrdesc/hashdesc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@
1717
#include "access/hash.h"
1818

1919
void
20-
hash_desc(StringInfo buf, uint8 xl_info, char *rec)
20+
hash_desc(StringInfo buf, XLogRecord *record)
2121
{
2222
}

src/backend/access/rmgrdesc/heapdesc.c

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,17 @@ out_infobits(StringInfo buf, uint8 infobits)
4141
}
4242

4343
void
44-
heap_desc(StringInfo buf, uint8 xl_info, char *rec)
44+
heap_desc(StringInfo buf, XLogRecord *record)
4545
{
46-
uint8 info = xl_info & ~XLR_INFO_MASK;
46+
char *rec = XLogRecGetData(record);
47+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
4748

4849
info &= XLOG_HEAP_OPMASK;
4950
if (info == XLOG_HEAP_INSERT)
5051
{
5152
xl_heap_insert *xlrec = (xl_heap_insert *) rec;
5253

53-
if (xl_info & XLOG_HEAP_INIT_PAGE)
54+
if (record->xl_info & XLOG_HEAP_INIT_PAGE)
5455
appendStringInfoString(buf, "insert(init): ");
5556
else
5657
appendStringInfoString(buf, "insert: ");
@@ -69,7 +70,7 @@ heap_desc(StringInfo buf, uint8 xl_info, char *rec)
6970
{
7071
xl_heap_update *xlrec = (xl_heap_update *) rec;
7172

72-
if (xl_info & XLOG_HEAP_INIT_PAGE)
73+
if (record->xl_info & XLOG_HEAP_INIT_PAGE)
7374
appendStringInfoString(buf, "update(init): ");
7475
else
7576
appendStringInfoString(buf, "update: ");
@@ -85,7 +86,7 @@ heap_desc(StringInfo buf, uint8 xl_info, char *rec)
8586
{
8687
xl_heap_update *xlrec = (xl_heap_update *) rec;
8788

88-
if (xl_info & XLOG_HEAP_INIT_PAGE) /* can this case happen? */
89+
if (record->xl_info & XLOG_HEAP_INIT_PAGE) /* can this case happen? */
8990
appendStringInfoString(buf, "hot_update(init): ");
9091
else
9192
appendStringInfoString(buf, "hot_update: ");
@@ -126,9 +127,10 @@ heap_desc(StringInfo buf, uint8 xl_info, char *rec)
126127
appendStringInfoString(buf, "UNKNOWN");
127128
}
128129
void
129-
heap2_desc(StringInfo buf, uint8 xl_info, char *rec)
130+
heap2_desc(StringInfo buf, XLogRecord *record)
130131
{
131-
uint8 info = xl_info & ~XLR_INFO_MASK;
132+
char *rec = XLogRecGetData(record);
133+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
132134

133135
info &= XLOG_HEAP_OPMASK;
134136
if (info == XLOG_HEAP2_CLEAN)
@@ -172,7 +174,7 @@ heap2_desc(StringInfo buf, uint8 xl_info, char *rec)
172174
{
173175
xl_heap_multi_insert *xlrec = (xl_heap_multi_insert *) rec;
174176

175-
if (xl_info & XLOG_HEAP_INIT_PAGE)
177+
if (record->xl_info & XLOG_HEAP_INIT_PAGE)
176178
appendStringInfoString(buf, "multi-insert (init): ");
177179
else
178180
appendStringInfoString(buf, "multi-insert: ");

src/backend/access/rmgrdesc/mxactdesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,10 @@ out_member(StringInfo buf, MultiXactMember *member)
4747
}
4848

4949
void
50-
multixact_desc(StringInfo buf, uint8 xl_info, char *rec)
50+
multixact_desc(StringInfo buf, XLogRecord *record)
5151
{
52-
uint8 info = xl_info & ~XLR_INFO_MASK;
52+
char *rec = XLogRecGetData(record);
53+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
5354

5455
if (info == XLOG_MULTIXACT_ZERO_OFF_PAGE)
5556
{

src/backend/access/rmgrdesc/nbtdesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@ out_target(StringInfo buf, xl_btreetid *target)
2626
}
2727

2828
void
29-
btree_desc(StringInfo buf, uint8 xl_info, char *rec)
29+
btree_desc(StringInfo buf, XLogRecord *record)
3030
{
31-
uint8 info = xl_info & ~XLR_INFO_MASK;
31+
char *rec = XLogRecGetData(record);
32+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
3233

3334
switch (info)
3435
{

src/backend/access/rmgrdesc/relmapdesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@
1717
#include "utils/relmapper.h"
1818

1919
void
20-
relmap_desc(StringInfo buf, uint8 xl_info, char *rec)
20+
relmap_desc(StringInfo buf, XLogRecord *record)
2121
{
22-
uint8 info = xl_info & ~XLR_INFO_MASK;
22+
char *rec = XLogRecGetData(record);
23+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
2324

2425
if (info == XLOG_RELMAP_UPDATE)
2526
{

src/backend/access/rmgrdesc/seqdesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818

1919

2020
void
21-
seq_desc(StringInfo buf, uint8 xl_info, char *rec)
21+
seq_desc(StringInfo buf, XLogRecord *record)
2222
{
23-
uint8 info = xl_info & ~XLR_INFO_MASK;
23+
char *rec = XLogRecGetData(record);
24+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
2425
xl_seq_rec *xlrec = (xl_seq_rec *) rec;
2526

2627
if (info == XLOG_SEQ_LOG)

src/backend/access/rmgrdesc/smgrdesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919

2020

2121
void
22-
smgr_desc(StringInfo buf, uint8 xl_info, char *rec)
22+
smgr_desc(StringInfo buf, XLogRecord *record)
2323
{
24-
uint8 info = xl_info & ~XLR_INFO_MASK;
24+
char *rec = XLogRecGetData(record);
25+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
2526

2627
if (info == XLOG_SMGR_CREATE)
2728
{

src/backend/access/rmgrdesc/spgdesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@ out_target(StringInfo buf, RelFileNode node)
2424
}
2525

2626
void
27-
spg_desc(StringInfo buf, uint8 xl_info, char *rec)
27+
spg_desc(StringInfo buf, XLogRecord *record)
2828
{
29-
uint8 info = xl_info & ~XLR_INFO_MASK;
29+
char *rec = XLogRecGetData(record);
30+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
3031

3132
switch (info)
3233
{

src/backend/access/rmgrdesc/standbydesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@ standby_desc_running_xacts(StringInfo buf, xl_running_xacts *xlrec)
3737
}
3838

3939
void
40-
standby_desc(StringInfo buf, uint8 xl_info, char *rec)
40+
standby_desc(StringInfo buf, XLogRecord *record)
4141
{
42-
uint8 info = xl_info & ~XLR_INFO_MASK;
42+
char *rec = XLogRecGetData(record);
43+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
4344

4445
if (info == XLOG_STANDBY_LOCK)
4546
{

src/backend/access/rmgrdesc/tblspcdesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818

1919

2020
void
21-
tblspc_desc(StringInfo buf, uint8 xl_info, char *rec)
21+
tblspc_desc(StringInfo buf, XLogRecord *record)
2222
{
23-
uint8 info = xl_info & ~XLR_INFO_MASK;
23+
char *rec = XLogRecGetData(record);
24+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
2425

2526
if (info == XLOG_TBLSPC_CREATE)
2627
{

src/backend/access/rmgrdesc/xactdesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,10 @@ xact_desc_assignment(StringInfo buf, xl_xact_assignment *xlrec)
137137
}
138138

139139
void
140-
xact_desc(StringInfo buf, uint8 xl_info, char *rec)
140+
xact_desc(StringInfo buf, XLogRecord *record)
141141
{
142-
uint8 info = xl_info & ~XLR_INFO_MASK;
142+
char *rec = XLogRecGetData(record);
143+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
143144

144145
if (info == XLOG_XACT_COMMIT_COMPACT)
145146
{

src/backend/access/rmgrdesc/xlogdesc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@ const struct config_enum_entry wal_level_options[] = {
3232
};
3333

3434
void
35-
xlog_desc(StringInfo buf, uint8 xl_info, char *rec)
35+
xlog_desc(StringInfo buf, XLogRecord *record)
3636
{
37-
uint8 info = xl_info & ~XLR_INFO_MASK;
37+
char *rec = XLogRecGetData(record);
38+
uint8 info = record->xl_info & ~XLR_INFO_MASK;
3839

3940
if (info == XLOG_CHECKPOINT_SHUTDOWN ||
4041
info == XLOG_CHECKPOINT_ONLINE)

src/backend/access/transam/xlog.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1276,11 +1276,12 @@ begin:;
12761276
rdt_lastnormal->next = NULL;
12771277

12781278
initStringInfo(&recordbuf);
1279+
appendBinaryStringInfo(&recordbuf, (char *) &rechdr, sizeof(XLogRecord));
12791280
for (; rdata != NULL; rdata = rdata->next)
12801281
appendBinaryStringInfo(&recordbuf, rdata->data, rdata->len);
12811282

12821283
appendStringInfoString(&buf, " - ");
1283-
RmgrTable[rechdr->xl_rmid].rm_desc(&buf, rechdr->xl_info, recordbuf.data);
1284+
RmgrTable[rechdr->xl_rmid].rm_desc(&buf, (XLogRecord *) recordbuf.data);
12841285
pfree(recordbuf.data);
12851286
}
12861287
elog(LOG, "%s", buf.data);
@@ -6627,9 +6628,7 @@ StartupXLOG(void)
66276628
(uint32) (EndRecPtr >> 32), (uint32) EndRecPtr);
66286629
xlog_outrec(&buf, record);
66296630
appendStringInfoString(&buf, " - ");
6630-
RmgrTable[record->xl_rmid].rm_desc(&buf,
6631-
record->xl_info,
6632-
XLogRecGetData(record));
6631+
RmgrTable[record->xl_rmid].rm_desc(&buf, record);
66336632
elog(LOG, "%s", buf.data);
66346633
pfree(buf.data);
66356634
}
@@ -10453,9 +10452,7 @@ rm_redo_error_callback(void *arg)
1045310452
StringInfoData buf;
1045410453

1045510454
initStringInfo(&buf);
10456-
RmgrTable[record->xl_rmid].rm_desc(&buf,
10457-
record->xl_info,
10458-
XLogRecGetData(record));
10455+
RmgrTable[record->xl_rmid].rm_desc(&buf, record);
1045910456

1046010457
/* don't bother emitting empty description */
1046110458
if (buf.len > 0)

src/include/access/clog.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,6 @@ extern void TruncateCLOG(TransactionId oldestXact);
4848
#define CLOG_TRUNCATE 0x10
4949

5050
extern void clog_redo(XLogRecPtr lsn, XLogRecord *record);
51-
extern void clog_desc(StringInfo buf, uint8 xl_info, char *rec);
51+
extern void clog_desc(StringInfo buf, XLogRecord *record);
5252

5353
#endif /* CLOG_H */

src/include/access/gin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ extern void ginUpdateStats(Relation index, const GinStatsData *stats);
7373

7474
/* ginxlog.c */
7575
extern void gin_redo(XLogRecPtr lsn, XLogRecord *record);
76-
extern void gin_desc(StringInfo buf, uint8 xl_info, char *rec);
76+
extern void gin_desc(StringInfo buf, XLogRecord *record);
7777
extern void gin_xlog_startup(void);
7878
extern void gin_xlog_cleanup(void);
7979

src/include/access/gist_private.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,7 @@ extern SplitedPageLayout *gistSplit(Relation r, Page page, IndexTuple *itup,
451451

452452
/* gistxlog.c */
453453
extern void gist_redo(XLogRecPtr lsn, XLogRecord *record);
454-
extern void gist_desc(StringInfo buf, uint8 xl_info, char *rec);
454+
extern void gist_desc(StringInfo buf, XLogRecord *record);
455455
extern void gist_xlog_startup(void);
456456
extern void gist_xlog_cleanup(void);
457457

src/include/access/hash.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,6 @@ extern OffsetNumber _hash_binsearch_last(Page page, uint32 hash_value);
355355

356356
/* hash.c */
357357
extern void hash_redo(XLogRecPtr lsn, XLogRecord *record);
358-
extern void hash_desc(StringInfo buf, uint8 xl_info, char *rec);
358+
extern void hash_desc(StringInfo buf, XLogRecord *record);
359359

360360
#endif /* HASH_H */

src/include/access/heapam_xlog.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -367,10 +367,10 @@ typedef struct xl_heap_rewrite_mapping
367367
extern void HeapTupleHeaderAdvanceLatestRemovedXid(HeapTupleHeader tuple,
368368
TransactionId *latestRemovedXid);
369369

370-
extern void heap_redo(XLogRecPtr lsn, XLogRecord *rptr);
371-
extern void heap_desc(StringInfo buf, uint8 xl_info, char *rec);
372-
extern void heap2_redo(XLogRecPtr lsn, XLogRecord *rptr);
373-
extern void heap2_desc(StringInfo buf, uint8 xl_info, char *rec);
370+
extern void heap_redo(XLogRecPtr lsn, XLogRecord *record);
371+
extern void heap_desc(StringInfo buf, XLogRecord *record);
372+
extern void heap2_redo(XLogRecPtr lsn, XLogRecord *record);
373+
extern void heap2_desc(StringInfo buf, XLogRecord *record);
374374
extern void heap_xlog_logical_rewrite(XLogRecPtr lsn, XLogRecord *r);
375375

376376
extern XLogRecPtr log_heap_cleanup_info(RelFileNode rnode,

src/include/access/multixact.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ extern void multixact_twophase_postabort(TransactionId xid, uint16 info,
134134
void *recdata, uint32 len);
135135

136136
extern void multixact_redo(XLogRecPtr lsn, XLogRecord *record);
137-
extern void multixact_desc(StringInfo buf, uint8 xl_info, char *rec);
137+
extern void multixact_desc(StringInfo buf, XLogRecord *record);
138138
extern char *mxid_to_string(MultiXactId multi, int nmembers,
139139
MultiXactMember *members);
140140

src/include/access/nbtree.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -724,6 +724,6 @@ extern void _bt_leafbuild(BTSpool *btspool, BTSpool *spool2);
724724
* prototypes for functions in nbtxlog.c
725725
*/
726726
extern void btree_redo(XLogRecPtr lsn, XLogRecord *record);
727-
extern void btree_desc(StringInfo buf, uint8 xl_info, char *rec);
727+
extern void btree_desc(StringInfo buf, XLogRecord *record);
728728

729729
#endif /* NBTREE_H */

src/include/access/spgist.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ extern Datum spgvacuumcleanup(PG_FUNCTION_ARGS);
197197

198198
/* spgxlog.c */
199199
extern void spg_redo(XLogRecPtr lsn, XLogRecord *record);
200-
extern void spg_desc(StringInfo buf, uint8 xl_info, char *rec);
200+
extern void spg_desc(StringInfo buf, XLogRecord *record);
201201
extern void spg_xlog_startup(void);
202202
extern void spg_xlog_cleanup(void);
203203

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