CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: tgl@postgresql.org 03/03/04 16:51:22
Modified files:
doc/src/sgml : runtime.sgml
src/backend/access/nbtree: nbtpage.c nbtree.c
src/backend/commands: vacuum.c vacuumlazy.c
src/backend/storage/freespace: freespace.c
src/backend/storage/smgr: smgr.c
src/backend/utils/misc: guc.c postgresql.conf.sample
src/include/storage: freespace.h
Log message:
Reimplement free-space-map management as per recent discussions.
Adjustable threshold is gone in favor of keeping track of total requested
page storage and doling out proportional fractions to each relation
(with a minimum amount per relation, and some quantization of the results
to avoid thrashing with small changes in page counts). Provide special-
case code for indexes so as not to waste space storing useless page
free space counts. Restructure internal data storage to be a flat array
instead of list-of-chunks; this may cost a little more work in data
copying when reorganizing, but allows binary search to be used during
lookup_fsm_page_entry().