Re: Printing LSN made easy
Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
From: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
To: Li Japin <japinli@hotmail.com>
Cc: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, Alexey Kondratov <a.kondratov@postgrespro.ru>,
pgsql-hackers <pgsql-hackers@postgresql.org>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Craig Ringer <craig.ringer@enterprisedb.com>
Date: 2020-12-03T06:13:41Z
Lists: pgsql-hackers
On Mon, Nov 30, 2020 at 7:38 PM Li Japin <japinli@hotmail.com> wrote: > Hi, > > On Nov 30, 2020, at 9:06 PM, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> > wrote: > > On Fri, Nov 27, 2020 at 9:51 PM Li Japin <japinli@hotmail.com> wrote: > > > Hi, > > Here, we cannot use sizeof(but) to get the buf size, because it is a > pointer, so it always > 8 bytes on 64-bit or 4 bytes on 32-bit machine. > > > For an array, the sizeof() returns the size of memory consumed by the > array. See section "Application to arrays" at > https://en.wikipedia.org/wiki/Sizeof. > > > That’s true! However, in pg_lsn_out_buffer(), it converts to a pointer, > not an array. See the following test: > > Ah! Thanks for pointing that out. I have fixed this in my repository. However, from Alvaro's reply it looks like the approach is not acceptable, so I am not posting the fixed version here. -- Best Wishes, Ashutosh
Commits
-
Simplify printing of LSNs
- 6f6f284c7ee4 14.0 landed
-
Unwind some workarounds for lack of portable int64 format specifier
- 6a1cd8b9236d 13.0 cited