Have TRUNCATE update pgstat tuple counters

This works by keeping a per-subtransaction record of the ins/upd/del
counters before the truncate, and then resetting them; this record is
useful to return to the previous state in case the truncate is rolled
back, either in a subtransaction or whole transaction.  The state is
propagated upwards as subtransactions commit.

When the per-table data is sent to the stats collector, a flag indicates
to reset the live/dead counters to zero as well.

Catalog version bumped due to the change in pgstat format.

Author: Alexander Shulgin
Discussion: [email protected]
Discussion: [email protected]
Reviewed-by: Álvaro Herrera, Jim Nasby

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/d42358efb16cc81122c53ffb35ac381b9158e519

Modified Files
--------------
src/backend/commands/tablecmds.c               |    3 +
src/backend/postmaster/pgstat.c                |  110 +++++++++++++++++++++++-
src/include/pgstat.h                           |    6 ++
src/test/regress/expected/prepared_xacts.out   |   50 +++++++++++
src/test/regress/expected/prepared_xacts_1.out |   53 ++++++++++++
src/test/regress/expected/stats.out            |   64 ++++++++++++++
src/test/regress/sql/prepared_xacts.sql        |   27 ++++++
src/test/regress/sql/stats.sql                 |   64 ++++++++++++++
8 files changed, 374 insertions(+), 3 deletions(-)


-- 
Sent via pgsql-committers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Reply via email to