1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-08 11:42:09 +03:00

Simplify printing of LSNs

Add a macro LSN_FORMAT_ARGS for use in printf-style printing of LSNs.
Convert all applicable code to use it.

Reviewed-by: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Reviewed-by: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://www.postgresql.org/message-id/flat/CAExHW5ub5NaTELZ3hJUCE6amuvqAtsSxc7O+uK7y4t9Rrk23cw@mail.gmail.com
This commit is contained in:
Peter Eisentraut
2021-02-23 10:14:38 +01:00
parent ade89ba5f4
commit 6f6f284c7e
36 changed files with 212 additions and 308 deletions

View File

@ -347,7 +347,7 @@ XLogReadRecord(XLogReaderState *state, char **errormsg)
else if (targetRecOff < pageHeaderSize)
{
report_invalid_record(state, "invalid record offset at %X/%X",
(uint32) (RecPtr >> 32), (uint32) RecPtr);
LSN_FORMAT_ARGS(RecPtr));
goto err;
}
@ -355,7 +355,7 @@ XLogReadRecord(XLogReaderState *state, char **errormsg)
targetRecOff == pageHeaderSize)
{
report_invalid_record(state, "contrecord is requested by %X/%X",
(uint32) (RecPtr >> 32), (uint32) RecPtr);
LSN_FORMAT_ARGS(RecPtr));
goto err;
}
@ -396,7 +396,7 @@ XLogReadRecord(XLogReaderState *state, char **errormsg)
{
report_invalid_record(state,
"invalid record length at %X/%X: wanted %u, got %u",
(uint32) (RecPtr >> 32), (uint32) RecPtr,
LSN_FORMAT_ARGS(RecPtr),
(uint32) SizeOfXLogRecord, total_len);
goto err;
}
@ -420,8 +420,7 @@ XLogReadRecord(XLogReaderState *state, char **errormsg)
{
/* We treat this as a "bogus data" condition */
report_invalid_record(state, "record length %u at %X/%X too long",
total_len,
(uint32) (RecPtr >> 32), (uint32) RecPtr);
total_len, LSN_FORMAT_ARGS(RecPtr));
goto err;
}
@ -452,7 +451,7 @@ XLogReadRecord(XLogReaderState *state, char **errormsg)
{
report_invalid_record(state,
"there is no contrecord flag at %X/%X",
(uint32) (RecPtr >> 32), (uint32) RecPtr);
LSN_FORMAT_ARGS(RecPtr));
goto err;
}
@ -467,7 +466,7 @@ XLogReadRecord(XLogReaderState *state, char **errormsg)
"invalid contrecord length %u (expected %lld) at %X/%X",
pageHeader->xlp_rem_len,
((long long) total_len) - gotlen,
(uint32) (RecPtr >> 32), (uint32) RecPtr);
LSN_FORMAT_ARGS(RecPtr));
goto err;
}
@ -694,7 +693,7 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr,
{
report_invalid_record(state,
"invalid record length at %X/%X: wanted %u, got %u",
(uint32) (RecPtr >> 32), (uint32) RecPtr,
LSN_FORMAT_ARGS(RecPtr),
(uint32) SizeOfXLogRecord, record->xl_tot_len);
return false;
}
@ -702,8 +701,7 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr,
{
report_invalid_record(state,
"invalid resource manager ID %u at %X/%X",
record->xl_rmid, (uint32) (RecPtr >> 32),
(uint32) RecPtr);
record->xl_rmid, LSN_FORMAT_ARGS(RecPtr));
return false;
}
if (randAccess)
@ -716,9 +714,8 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr,
{
report_invalid_record(state,
"record with incorrect prev-link %X/%X at %X/%X",
(uint32) (record->xl_prev >> 32),
(uint32) record->xl_prev,
(uint32) (RecPtr >> 32), (uint32) RecPtr);
LSN_FORMAT_ARGS(record->xl_prev),
LSN_FORMAT_ARGS(RecPtr));
return false;
}
}
@ -733,9 +730,8 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr,
{
report_invalid_record(state,
"record with incorrect prev-link %X/%X at %X/%X",
(uint32) (record->xl_prev >> 32),
(uint32) record->xl_prev,
(uint32) (RecPtr >> 32), (uint32) RecPtr);
LSN_FORMAT_ARGS(record->xl_prev),
LSN_FORMAT_ARGS(RecPtr));
return false;
}
}
@ -770,7 +766,7 @@ ValidXLogRecord(XLogReaderState *state, XLogRecord *record, XLogRecPtr recptr)
{
report_invalid_record(state,
"incorrect resource manager data checksum in record at %X/%X",
(uint32) (recptr >> 32), (uint32) recptr);
LSN_FORMAT_ARGS(recptr));
return false;
}
@ -881,7 +877,7 @@ XLogReaderValidatePageHeader(XLogReaderState *state, XLogRecPtr recptr,
report_invalid_record(state,
"unexpected pageaddr %X/%X in log segment %s, offset %u",
(uint32) (hdr->xlp_pageaddr >> 32), (uint32) hdr->xlp_pageaddr,
LSN_FORMAT_ARGS(hdr->xlp_pageaddr),
fname,
offset);
return false;
@ -1252,8 +1248,7 @@ DecodeXLogRecord(XLogReaderState *state, XLogRecord *record, char **errormsg)
report_invalid_record(state,
"out-of-order block_id %u at %X/%X",
block_id,
(uint32) (state->ReadRecPtr >> 32),
(uint32) state->ReadRecPtr);
LSN_FORMAT_ARGS(state->ReadRecPtr));
goto err;
}
state->max_block_id = block_id;
@ -1274,7 +1269,7 @@ DecodeXLogRecord(XLogReaderState *state, XLogRecord *record, char **errormsg)
{
report_invalid_record(state,
"BKPBLOCK_HAS_DATA set, but no data included at %X/%X",
(uint32) (state->ReadRecPtr >> 32), (uint32) state->ReadRecPtr);
LSN_FORMAT_ARGS(state->ReadRecPtr));
goto err;
}
if (!blk->has_data && blk->data_len != 0)
@ -1282,7 +1277,7 @@ DecodeXLogRecord(XLogReaderState *state, XLogRecord *record, char **errormsg)
report_invalid_record(state,
"BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X",
(unsigned int) blk->data_len,
(uint32) (state->ReadRecPtr >> 32), (uint32) state->ReadRecPtr);
LSN_FORMAT_ARGS(state->ReadRecPtr));
goto err;
}
datatotal += blk->data_len;
@ -1320,7 +1315,7 @@ DecodeXLogRecord(XLogReaderState *state, XLogRecord *record, char **errormsg)
(unsigned int) blk->hole_offset,
(unsigned int) blk->hole_length,
(unsigned int) blk->bimg_len,
(uint32) (state->ReadRecPtr >> 32), (uint32) state->ReadRecPtr);
LSN_FORMAT_ARGS(state->ReadRecPtr));
goto err;
}
@ -1335,7 +1330,7 @@ DecodeXLogRecord(XLogReaderState *state, XLogRecord *record, char **errormsg)
"BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X",
(unsigned int) blk->hole_offset,
(unsigned int) blk->hole_length,
(uint32) (state->ReadRecPtr >> 32), (uint32) state->ReadRecPtr);
LSN_FORMAT_ARGS(state->ReadRecPtr));
goto err;
}
@ -1349,7 +1344,7 @@ DecodeXLogRecord(XLogReaderState *state, XLogRecord *record, char **errormsg)
report_invalid_record(state,
"BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X",
(unsigned int) blk->bimg_len,
(uint32) (state->ReadRecPtr >> 32), (uint32) state->ReadRecPtr);
LSN_FORMAT_ARGS(state->ReadRecPtr));
goto err;
}
@ -1364,7 +1359,7 @@ DecodeXLogRecord(XLogReaderState *state, XLogRecord *record, char **errormsg)
report_invalid_record(state,
"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X",
(unsigned int) blk->data_len,
(uint32) (state->ReadRecPtr >> 32), (uint32) state->ReadRecPtr);
LSN_FORMAT_ARGS(state->ReadRecPtr));
goto err;
}
}
@ -1379,7 +1374,7 @@ DecodeXLogRecord(XLogReaderState *state, XLogRecord *record, char **errormsg)
{
report_invalid_record(state,
"BKPBLOCK_SAME_REL set but no previous rel at %X/%X",
(uint32) (state->ReadRecPtr >> 32), (uint32) state->ReadRecPtr);
LSN_FORMAT_ARGS(state->ReadRecPtr));
goto err;
}
@ -1391,9 +1386,7 @@ DecodeXLogRecord(XLogReaderState *state, XLogRecord *record, char **errormsg)
{
report_invalid_record(state,
"invalid block_id %u at %X/%X",
block_id,
(uint32) (state->ReadRecPtr >> 32),
(uint32) state->ReadRecPtr);
block_id, LSN_FORMAT_ARGS(state->ReadRecPtr));
goto err;
}
}
@ -1480,7 +1473,7 @@ DecodeXLogRecord(XLogReaderState *state, XLogRecord *record, char **errormsg)
shortdata_err:
report_invalid_record(state,
"record with invalid length at %X/%X",
(uint32) (state->ReadRecPtr >> 32), (uint32) state->ReadRecPtr);
LSN_FORMAT_ARGS(state->ReadRecPtr));
err:
*errormsg = state->errormsg_buf;
@ -1569,8 +1562,7 @@ RestoreBlockImage(XLogReaderState *record, uint8 block_id, char *page)
BLCKSZ - bkpb->hole_length, true) < 0)
{
report_invalid_record(record, "invalid compressed image at %X/%X, block %d",
(uint32) (record->ReadRecPtr >> 32),
(uint32) record->ReadRecPtr,
LSN_FORMAT_ARGS(record->ReadRecPtr),
block_id);
return false;
}