Add a function pg_stat_clear_snapshot() that discards any statistics snapshot

Tom Lane <tgl@sss.pgh.pa.us>

Commit: aec4cf1c8c410f9c9db3deabcb94502dcd355b3f
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2007-02-07T23:11:30Z
Releases: 8.3.0
Add a function pg_stat_clear_snapshot() that discards any statistics snapshot
already collected in the current transaction; this allows plpgsql functions to
watch for stats updates even though they are confined to a single transaction.
Use this instead of the previous kluge involving pg_stat_file() to wait for
the stats collector to update in the stats regression test.  Internally,
decouple storage of stats snapshots from transaction boundaries; they'll
now stick around until someone calls pgstat_clear_snapshot --- which xact.c
still does at transaction end, to maintain the previous behavior.  This makes
the logic a lot cleaner, at the price of a couple dozen cycles per transaction
exit.

Files