Change data type of counters in BufferUsage and WalUsage from long to int64.
Previously long was used as the data type for some counters in BufferUsage
and WalUsage. But long is only four byte, e.g., on Windows, and it's entirely
possible to wrap a four byte counter. For example, emitting more than
four billion WAL records in one transaction isn't actually particularly rare.
To avoid the overflows of those counters, this commit changes the data type
of them from long to int64.
Suggested-by: Andres Freund
Author: Masahiro Ikeda
Reviewed-by: Fujii Masao
Discussion: https://postgr.es/m/20201221211650.k7b53tcnadrciqjo@alap3.anarazel.de
Discussion: https://postgr.es/m/af0964ac-7080-1984-dc23-513754987716@oss.nttdata.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/d780d7c0882fe9a385102b292907baaceb505ed0
Modified Files
--------------
src/backend/access/heap/vacuumlazy.c | 6 ++---
src/backend/commands/explain.c | 48 ++++++++++++++++++------------------
src/include/executor/instrument.h | 24 +++++++++---------
3 files changed, 39 insertions(+), 39 deletions(-)