]> granicus.if.org Git - postgresql/commit
Fix up pgstats counting of live and dead tuples to recognize that committed
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 27 May 2007 03:50:39 +0000 (03:50 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 27 May 2007 03:50:39 +0000 (03:50 +0000)
commit77947c51c08179b8bc12347a7fbcb2c8d7908302
tree0a306ea177817fdadc0e4421b6d8dd212c11e6e3
parentcadb78330eedceafeda99bf12ac690cda773be62
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.
20 files changed:
src/backend/access/gin/ginscan.c
src/backend/access/gist/gistget.c
src/backend/access/hash/hashsearch.c
src/backend/access/heap/heapam.c
src/backend/access/index/genam.c
src/backend/access/index/indexam.c
src/backend/access/nbtree/nbtsearch.c
src/backend/access/transam/twophase.c
src/backend/access/transam/twophase_rmgr.c
src/backend/access/transam/xact.c
src/backend/executor/nodeBitmapHeapscan.c
src/backend/postmaster/bgwriter.c
src/backend/postmaster/pgstat.c
src/backend/storage/buffer/bufmgr.c
src/backend/utils/cache/relcache.c
src/include/access/heapam.h
src/include/access/relscan.h
src/include/access/twophase_rmgr.h
src/include/pgstat.h
src/include/utils/rel.h