CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: tgl@svr1.postgresql.org 04/05/08 16:09:25
Modified files:
contrib/pgstattuple: pgstattuple.c
src/backend/access/heap: heapam.c
src/backend/access/nbtree: nbtree.c
src/backend/catalog: heap.c index.c
src/backend/commands: analyze.c sequence.c vacuum.c vacuumlazy.c
src/backend/storage/buffer: bufmgr.c
src/backend/utils/cache: relcache.c
src/include/access: relscan.h
src/include/storage: bufmgr.h
src/include/utils: rel.h
Log message:
Get rid of rd_nblocks field in relcache entries. Turns out this was
costing us lots more to maintain than it was worth. On shared tables
it was of exactly zero benefit because we couldn't trust it to be
up to date. On temp tables it sometimes saved an lseek, but not often
enough to be worth getting excited about. And the real problem was that
we forced an lseek on every relcache flush in order to update the field.
So all in all it seems best to lose the complexity.