postgresql/src/include/utils
Tom Lane b9b8831ad6 Create a "relation mapping" infrastructure to support changing the relfilenodes
of shared or nailed system catalogs.  This has two key benefits:

* The new CLUSTER-based VACUUM FULL can be applied safely to all catalogs.

* We no longer have to use an unsafe reindex-in-place approach for reindexing
  shared catalogs.

CLUSTER on nailed catalogs now works too, although I left it disabled on
shared catalogs because the resulting pg_index.indisclustered update would
only be visible in one database.

Since reindexing shared system catalogs is now fully transactional and
crash-safe, the former special cases in REINDEX behavior have been removed;
shared catalogs are treated the same as non-shared.

This commit does not do anything about the recently-discussed problem of
deadlocks between VACUUM FULL/CLUSTER on a system catalog and other
concurrent queries; will address that in a separate patch.  As a stopgap,
parallel_schedule has been tweaked to run vacuum.sql by itself, to avoid
such failures during the regression tests.
2010-02-07 20:48:13 +00:00
..
acl.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
array.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
ascii.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
attoptcache.h Fix several oversights in previous commit - attribute options patch. 2010-01-22 16:42:31 +00:00
builtins.h Create a "relation mapping" infrastructure to support changing the relfilenodes 2010-02-07 20:48:13 +00:00
bytea.h Add get_bit/set_bit functions for bit strings, paralleling those for bytea, 2010-01-25 20:55:32 +00:00
cash.h 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list 2009-06-11 14:49:15 +00:00
catcache.h Create a "relation mapping" infrastructure to support changing the relfilenodes 2010-02-07 20:48:13 +00:00
combocid.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
date.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
datetime.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
datum.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
dynahash.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
dynamic_loader.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
elog.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
errcodes.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
fmgrtab.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
formatting.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
geo_decls.h Add point_ops opclass for GiST. 2010-01-14 16:31:09 +00:00
guc_tables.h Introduce Streaming Replication. 2010-01-15 09:19:10 +00:00
guc.h Remove the default_do_language parameter, instead making DO use a hardwired 2010-01-26 16:33:40 +00:00
help_config.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
hsearch.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
inet.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
int8.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
inval.h Create a "relation mapping" infrastructure to support changing the relfilenodes 2010-02-07 20:48:13 +00:00
logtape.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
lsyscache.h When estimating the selectivity of an inequality "column > constant" or 2010-01-04 02:44:40 +00:00
memutils.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
nabstime.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
numeric.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
palloc.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
pg_crc.h Remove all the special-case code for INT64_IS_BUSTED, per decision that 2010-01-07 04:53:35 +00:00
pg_locale.h Update copyright for the year 2010. 2010-01-02 16:58:17 +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 copyright for the year 2010. 2010-01-02 16:58:17 +00:00
plancache.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
portal.h Update copyright for the year 2010. 2010-01-02 16:58:17 +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 Create a "relation mapping" infrastructure to support changing the relfilenodes 2010-02-07 20:48:13 +00:00
relcache.h Create a "relation mapping" infrastructure to support changing the relfilenodes 2010-02-07 20:48:13 +00:00
relmapper.h Create a "relation mapping" infrastructure to support changing the relfilenodes 2010-02-07 20:48:13 +00:00
resowner.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
selfuncs.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
snapmgr.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
snapshot.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
spccache.h Support ALTER TABLESPACE name SET/RESET ( tablespace_options ). 2010-01-05 21:54:00 +00:00
syscache.h Support ALTER TABLESPACE name SET/RESET ( tablespace_options ). 2010-01-05 21:54:00 +00:00
timestamp.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
tqual.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
tuplesort.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
tuplestore.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
typcache.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
tzparser.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
uuid.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
varbit.h Add get_bit/set_bit functions for bit strings, paralleling those for bytea, 2010-01-25 20:55:32 +00:00
xml.h Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00