OSDN Git Service

Reimplement free-space-map management as per recent discussions.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 4 Mar 2003 21:51:22 +0000 (21:51 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 4 Mar 2003 21:51:22 +0000 (21:51 +0000)
commit391eb5e5b6a78fce5179808379cdae20baedd9c3
tree754cb44f71f1f7f00c898ef93dcfa0262148c7e7
parenta455c942574f2d6414d49893fe8ee2779c636acb
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().
doc/src/sgml/runtime.sgml
src/backend/access/nbtree/nbtpage.c
src/backend/access/nbtree/nbtree.c
src/backend/commands/vacuum.c
src/backend/commands/vacuumlazy.c
src/backend/storage/freespace/freespace.c
src/backend/storage/smgr/smgr.c
src/backend/utils/misc/guc.c
src/backend/utils/misc/postgresql.conf.sample
src/include/storage/freespace.h