postgresql/src/include/access
Heikki Linnakangas 608195a3a3 Introduce visibility map. The visibility map is a bitmap with one bit per
heap page, where a set bit indicates that all tuples on the page are
visible to all transactions, and the page therefore doesn't need
vacuuming. It is stored in a new relation fork.

Lazy vacuum uses the visibility map to skip pages that don't need
vacuuming. Vacuum is also responsible for setting the bits in the map.
In the future, this can hopefully be used to implement index-only-scans,
but we can't currently guarantee that the visibility map is always 100%
up-to-date.

In addition to the visibility map, there's a new PD_ALL_VISIBLE flag on
each heap page, also indicating that all tuples on the page are visible to
all transactions. It's important that this flag is kept up-to-date. It
is also used to skip visibility tests in sequential scans, which gives a
small performance gain on seqscans.
2008-12-03 13:05:22 +00:00
..
attnum.h Defend against JOINs having more than 32K columns altogether. We cannot 2008-04-05 01:58:20 +00:00
clog.h Rework subtransaction commit protocol for hot standby. 2008-10-20 19:18:18 +00:00
genam.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
gin.h Clean up the messy semantics (not to mention inefficiency) of PageGetTempPage 2008-11-03 20:47:49 +00:00
gist.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
gist_private.h Fix GiST's killing tuple: GISTScanOpaque->curpos wasn't 2008-10-22 12:53:56 +00:00
gistscan.h Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
hash.h Remove useless mark/restore support in hash index AM, per discussion. 2008-10-17 23:50:57 +00:00
heapam.h Improve bulk-insert performance by keeping the current target buffer pinned 2008-11-06 20:51:15 +00:00
hio.h Improve bulk-insert performance by keeping the current target buffer pinned 2008-11-06 20:51:15 +00:00
htup.h Introduce visibility map. The visibility map is a bitmap with one bit per 2008-12-03 13:05:22 +00:00
itup.h Clean up the use of some page-header-access macros: principally, use 2008-07-13 20:45:47 +00:00
multixact.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
nbtree.h Clean up the use of some page-header-access macros: principally, use 2008-07-13 20:45:47 +00:00
printtup.h Clean up the API for DestReceiver objects by eliminating the assumption 2008-11-30 20:51:25 +00:00
reloptions.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
relscan.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
rewriteheap.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
rmgr.h Rethink the way FSM truncation works. Instead of WAL-logging FSM 2008-11-19 10:34:52 +00:00
sdir.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
skey.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
slru.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
subtrans.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
sysattr.h Restructure some header files a bit, in particular heapam.h, by removing some 2008-05-12 00:00:54 +00:00
transam.h Rework subtransaction commit protocol for hot standby. 2008-10-20 19:18:18 +00:00
tupdesc.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
tupmacs.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
tuptoaster.h Improve bulk-insert performance by keeping the current target buffer pinned 2008-11-06 20:51:15 +00:00
twophase.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
twophase_rmgr.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
valid.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
visibilitymap.h Introduce visibility map. The visibility map is a bitmap with one bit per 2008-12-03 13:05:22 +00:00
xact.h Rethink the way FSM truncation works. Instead of WAL-logging FSM 2008-11-19 10:34:52 +00:00
xlog.h Convert wal_sync_method to guc enum. 2008-05-12 08:35:05 +00:00
xlog_internal.h Introduce the concept of relation forks. An smgr relation can now consist 2008-08-11 11:05:11 +00:00
xlogdefs.h Fix a subtle bug exposed by recent wal_sync_method rearrangements. 2008-05-17 17:24:57 +00:00
xlogutils.h Unite ReadBufferWithFork, ReadBufferWithStrategy, and ZeroOrReadBuffer 2008-10-31 15:05:00 +00:00