Fix up pgstats counting of live and dead tuples to recognize that committed

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

Commit: 77947c51c08179b8bc12347a7fbcb2c8d7908302
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2007-05-27T03:50:39Z
Releases: 8.3.0
Fix up pgstats counting of live and dead tuples to recognize that committed
and aborted transactions have different effects; also teach it not to assume
that prepared transactions are always committed.

Along the way, simplify the pgstats API by tying counting directly to
Relations; I cannot detect any redeeming social value in having stats
pointers in HeapScanDesc and IndexScanDesc structures.  And fix a few
corner cases in which counts might be missed because the relation's
pgstat_info pointer hadn't been set.

Files