mirror of
https://github.com/postgres/postgres.git
synced 2025-11-09 06:21:09 +03:00
Standardize LSN formatting by zero padding
This commit standardizes the output format for LSNs to ensure consistent representation across various tools and messages. Previously, LSNs were inconsistently printed as `%X/%X` in some contexts, while others used zero-padding. This often led to confusion when comparing. To address this, the LSN format is now uniformly set to `%X/%08X`, ensuring the lower 32-bit part is always zero-padded to eight hexadecimal digits. Author: Japin Li <japinli@hotmail.com> Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com> Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de> Discussion: https://postgr.es/m/ME0P300MB0445CA53CA0E4B8C1879AF84B641A@ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM
This commit is contained in:
@@ -487,7 +487,7 @@ reached_end_position(XLogRecPtr segendpos, uint32 timeline,
|
||||
if (r < 0)
|
||||
pg_fatal("could not read from ready pipe: %m");
|
||||
|
||||
if (sscanf(xlogend, "%X/%X", &hi, &lo) != 2)
|
||||
if (sscanf(xlogend, "%X/%08X", &hi, &lo) != 2)
|
||||
pg_fatal("could not parse write-ahead log location \"%s\"",
|
||||
xlogend);
|
||||
xlogendptr = ((uint64) hi) << 32 | lo;
|
||||
@@ -629,7 +629,7 @@ StartLogStreamer(char *startpos, uint32 timeline, char *sysidentifier,
|
||||
param->wal_compress_level = wal_compress_level;
|
||||
|
||||
/* Convert the starting position */
|
||||
if (sscanf(startpos, "%X/%X", &hi, &lo) != 2)
|
||||
if (sscanf(startpos, "%X/%08X", &hi, &lo) != 2)
|
||||
pg_fatal("could not parse write-ahead log location \"%s\"",
|
||||
startpos);
|
||||
param->startptr = ((uint64) hi) << 32 | lo;
|
||||
@@ -2255,7 +2255,7 @@ BaseBackup(char *compression_algorithm, char *compression_detail,
|
||||
* value directly in the variable, and then set the flag that says
|
||||
* it's there.
|
||||
*/
|
||||
if (sscanf(xlogend, "%X/%X", &hi, &lo) != 2)
|
||||
if (sscanf(xlogend, "%X/%08X", &hi, &lo) != 2)
|
||||
pg_fatal("could not parse write-ahead log location \"%s\"",
|
||||
xlogend);
|
||||
xlogendptr = ((uint64) hi) << 32 | lo;
|
||||
|
||||
Reference in New Issue
Block a user