Hi,
On 2020-12-21 13:16:50 -0800, Andres Freund wrote:
> On 2020-12-02 13:52:43 +0900, Fujii Masao wrote:
> > Pushed. Thanks!
>
> Why are wal_records/fpi long, instead of uint64?
> long wal_records; /* # of WAL records produced */
> long wal_fpi; /* # of WAL full page images produced */
> uint64 wal_bytes; /* size of WAL records produced */
>
> long is only 4 byte e.g. on windows, and it is entirely possible to wrap
> a 4 byte record counter. It's also somewhat weird that wal_bytes is
> unsigned, but the others are signed?
>
> This is made doubly weird because on the SQL level you chose to make
> wal_records, wal_fpi bigint. And wal_bytes numeric?
Some more things:
- There's both PgStat_MsgWal WalStats; and static PgStat_WalStats walStats;
that seems *WAY* too confusing. And the former imo shouldn't be
global.
- AdvanceXLInsertBuffer() does WalStats.m_wal_buffers_full, but as far
as I can tell there's nothing actually sending that?
- Andres