postgresql/src
Tom Lane 9727c583fe Restructure CLUSTER/newstyle VACUUM FULL/ALTER TABLE support so that swapping
of old and new toast tables can be done either at the logical level (by
swapping the heaps' reltoastrelid links) or at the physical level (by swapping
the relfilenodes of the toast tables and their indexes).  This is necessary
infrastructure for upcoming changes to support CLUSTER/VAC FULL on shared
system catalogs, where we cannot change reltoastrelid.  The physical swap
saves a few catalog updates too.

We unfortunately have to keep the logical-level swap logic because in some
cases we will be adding or deleting a toast table, so there's no possibility
of a physical swap.  However, that only happens as a consequence of schema
changes in the table, which we do not need to support for system catalogs,
so such cases aren't an obstacle for that.

In passing, refactor the cluster support functions a little bit to eliminate
unnecessarily-duplicated code; and fix the problem that while CLUSTER had
been taught to rename the final toast table at need, ALTER TABLE had not.
2010-02-04 00:09:14 +00:00
..
backend Restructure CLUSTER/newstyle VACUUM FULL/ALTER TABLE support so that swapping 2010-02-04 00:09:14 +00:00
bin Fix memory leakage introduced into print_aligned_text by 8.4 changes 2010-01-30 18:59:51 +00:00
include Restructure CLUSTER/newstyle VACUUM FULL/ALTER TABLE support so that swapping 2010-02-04 00:09:14 +00:00
interfaces Fixed some typos in ECPG regression test suite that resulted in regression test failures on some architectures. 2010-02-03 13:56:27 +00:00
makefiles Adjust windows makefiles too, now that the walreceiver dynamic module 2010-01-20 09:30:07 +00:00
pl Add plperl.on_perl_init setting to provide for initializing the perl library on load. Also, handle END blocks in plperl. 2010-01-30 01:46:57 +00:00
port Remove now unnecessary loop around CallNamedPipe(). 2010-01-31 17:18:28 +00:00
template Tweak configure to attempt to add -qnoansialias to CFLAGS whenever running 2009-02-11 20:02:40 +00:00
test Fix timing-sensitive regression test result I just created :-( --- the 2010-02-03 03:21:25 +00:00
timezone Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
tools Adjust MSVC build script too, now that the walreceiver dynamic module 2010-01-20 09:22:43 +00:00
tutorial Remove copyright mention of Andrew Yu, per author's permission. 2010-02-02 18:52:02 +00:00
bcc32.mak Remove old-style win32 client-only visual c++ build infrastructure for everything except 2007-03-05 14:18:38 +00:00
DEVELOPERS Replace a couple of references to files that no longer exist in the source 2009-05-04 08:08:47 +00:00
Makefile Rethink the way walreceiver is linked into the backend. Instead than shoving 2010-01-20 09:16:24 +00:00
Makefile.global.in Python 3 support in PL/Python 2009-12-15 22:59:55 +00:00
Makefile.shlib Derived files that are shipped in the distribution used to be built in the 2009-08-28 20:26:19 +00:00
nls-global.mk Update of install-sh, mkinstalldirs, and associated configury 2009-08-26 22:24:44 +00:00
win32.mak Update supported standalone VC++ version to 7.1+ only, and fix 2007-08-03 10:47:11 +00:00