postgresql/src/include/utils
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
..
acl.h Create a separate grantable privilege for TRUNCATE, rather than having it be 2008-09-08 00:47:41 +00:00
array.h Implement the basic form of UNNEST, ie unnest(anyarray) returns setof 2008-11-14 00:51:47 +00:00
ascii.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
builtins.h suppress_redundant_updates_trigger function. 2008-11-03 20:17:21 +00:00
cash.h Add $PostgreSQL$ markers to a lot of files that were missing them. 2008-05-17 01:28:26 +00:00
catcache.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
combocid.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
date.h Extend the date type to support infinity and -infinity, analogously to 2008-10-14 17:12:33 +00:00
datetime.h Add support for input and output of interval values formatted per ISO 8601; 2008-11-11 02:42:33 +00:00
datum.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
dynahash.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
dynamic_loader.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
elog.h Install a more robust solution for the problem of infinite error-processing 2008-10-27 19:37:22 +00:00
errcodes.h Implement SQL-standard WITH clauses, including WITH RECURSIVE. 2008-10-04 21:56:55 +00:00
flatfiles.h Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
fmgrtab.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
formatting.h Const-ify the arguments of str_tolower() and friends to suppress compile 2008-07-12 00:44:38 +00:00
geo_decls.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
guc_tables.h Some infrastructure changes for the upcoming auto-explain contrib module: 2008-11-19 01:10:24 +00:00
guc.h Some infrastructure changes for the upcoming auto-explain contrib module: 2008-11-19 01:10:24 +00:00
help_config.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
hsearch.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
inet.h Change the declaration of struct varlena so that the length word is 2008-02-23 19:11:45 +00:00
int8.h Clean up some problems with redundant cross-type arithmetic operators. Add 2008-06-17 19:10:56 +00:00
inval.h Improve the plan cache invalidation mechanism to make it invalidate plans 2008-09-09 18:58:09 +00:00
logtape.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
lsyscache.h Add hooks to let plugins override the planner's lookups in pg_statistic. 2008-09-28 19:51:40 +00:00
memutils.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
nabstime.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
numeric.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
palloc.h If pnstrdup is going to be promoted to a generally available function, 2008-06-28 16:45:22 +00:00
pg_crc.h Second try at fixing DLLIMPORT problem for pg_crc.h on Cygwin. 2008-11-14 20:21:07 +00:00
pg_locale.h Make LC_COLLATE and LC_CTYPE database-level settings. Collation and 2008-09-23 09:20:39 +00:00
pg_lzcompress.h This patch addresses some issues in TOAST compression strategy that 2008-03-07 23:20:21 +00:00
pg_rusage.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
plancache.h Fix caching of foreign-key-checking queries so that when a replan is needed, 2008-09-15 23:37:40 +00:00
portal.h Clean up the API for DestReceiver objects by eliminating the assumption 2008-11-30 20:51:25 +00:00
ps_status.h Add GUC update_process_title to control whether 'ps' display is updated 2006-06-27 22:16:44 +00:00
rel.h Introduce visibility map. The visibility map is a bitmap with one bit per 2008-12-03 13:05:22 +00:00
relcache.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
resowner.h Use ResourceOwners in the snapshot manager, instead of attempting to track them 2008-11-25 20:28:29 +00:00
selfuncs.h Add hooks to let plugins override the planner's lookups in pg_statistic. 2008-09-28 19:51:40 +00:00
snapmgr.h Improve snapshot manager by keeping explicit track of snapshots. 2008-05-12 20:02:02 +00:00
snapshot.h Improve snapshot manager by keeping explicit track of snapshots. 2008-05-12 20:02:02 +00:00
syscache.h Convert the list of syscache names from a series of #define's into an enum, 2008-05-07 01:04:49 +00:00
timestamp.h Add timestamp and timestamptz versions of generate_series(). 2008-05-04 23:19:24 +00:00
tqual.h Move the HTSU_Result enum definition into snapshot.h, to avoid including 2008-03-26 21:10:39 +00:00
tuplesort.h Improve our #include situation by moving pointer types away from the 2008-06-19 00:46:06 +00:00
tuplestore.h Implement SQL-standard WITH clauses, including WITH RECURSIVE. 2008-10-04 21:56:55 +00:00
typcache.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
tzparser.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
uuid.h Fix some missed copyright updates. 2008-01-01 20:31:21 +00:00
varbit.h Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
xml.h Turn xmlbinary and xmloption GUC variables into enumsTurn xmlbinary and 2008-04-04 08:33:15 +00:00