Re: Printing LSN made easy
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>, ashutosh.bapat@enterprisedb.com
Cc: Craig Ringer <craig.ringer@enterprisedb.com>
Date: 2021-01-20T06:25:37Z
Lists: pgsql-hackers
On 2020-11-27 11:40, Ashutosh Bapat wrote:
> The solution seems to be simple though. In the attached patch, I have
> added two macros
> #define LSN_FORMAT "%X/%X"
> #define LSN_FORMAT_ARG(lsn) (uint32) ((lsn) >> 32), (uint32) (lsn)
>
> which can be used instead.
It looks like we are not getting any consensus on this approach. One
reduced version I would consider is just the second part, so you'd write
something like
snprintf(lsnchar, sizeof(lsnchar), "%X/%X",
LSN_FORMAT_ARGS(lsn));
This would still reduce notational complexity quite a bit but avoid any
funny business with the format strings.
--
Peter Eisentraut
2ndQuadrant, an EDB company
https://www.2ndquadrant.com/
Commits
-
Simplify printing of LSNs
- 6f6f284c7ee4 14.0 landed
-
Unwind some workarounds for lack of portable int64 format specifier
- 6a1cd8b9236d 13.0 cited