pgsql: Remove old-style VACUUM FULL (which was known for a little while

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Remove old-style VACUUM FULL (which was known for a little while
Date: 2010-02-08 04:33:55
Message-ID: 20100208043355.412637541B9@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Log Message:
-----------
Remove old-style VACUUM FULL (which was known for a little while as
VACUUM FULL INPLACE), along with a boatload of subsidiary code and complexity.
Per discussion, the use case for this method of vacuuming is no longer large
enough to justify maintaining it; not to mention that we don't wish to invest
the work that would be needed to make it play nicely with Hot Standby.

Aside from the code directly related to old-style VACUUM FULL, this commit
removes support for certain WAL record types that could only be generated
within VACUUM FULL, redirect-pointer removal in heap_page_prune, and
nontransactional generation of cache invalidation sinval messages (the last
being the sticking point for Hot Standby).

We still have to retain all code that copes with finding HEAP_MOVED_OFF and
HEAP_MOVED_IN flag bits on existing tuples. This can't be removed as long
as we want to support in-place update from pre-9.0 databases.

Modified Files:
--------------
pgsql/doc/src/sgml:
indexam.sgml (r2.32 -> r2.33)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/indexam.sgml?r1=2.32&r2=2.33)
maintenance.sgml (r1.98 -> r1.99)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/maintenance.sgml?r1=1.98&r2=1.99)
pgsql/doc/src/sgml/ref:
vacuum.sgml (r1.57 -> r1.58)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/vacuum.sgml?r1=1.57&r2=1.58)
vacuumdb.sgml (r1.49 -> r1.50)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/vacuumdb.sgml?r1=1.49&r2=1.50)
pgsql/src/backend/access/gin:
README (r1.6 -> r1.7)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gin/README?r1=1.6&r2=1.7)
ginvacuum.c (r1.32 -> r1.33)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gin/ginvacuum.c?r1=1.32&r2=1.33)
pgsql/src/backend/access/gist:
gistvacuum.c (r1.46 -> r1.47)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistvacuum.c?r1=1.46&r2=1.47)
pgsql/src/backend/access/heap:
README.HOT (r1.4 -> r1.5)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/README.HOT?r1=1.4&r2=1.5)
heapam.c (r1.285 -> r1.286)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c?r1=1.285&r2=1.286)
pruneheap.c (r1.20 -> r1.21)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/pruneheap.c?r1=1.20&r2=1.21)
pgsql/src/backend/access/nbtree:
README (r1.21 -> r1.22)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/README?r1=1.21&r2=1.22)
nbtpage.c (r1.117 -> r1.118)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtpage.c?r1=1.117&r2=1.118)
nbtree.c (r1.174 -> r1.175)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtree.c?r1=1.174&r2=1.175)
nbtxlog.c (r1.59 -> r1.60)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtxlog.c?r1=1.59&r2=1.60)
pgsql/src/backend/access/transam:
xact.c (r1.283 -> r1.284)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xact.c?r1=1.283&r2=1.284)
xlog.c (r1.367 -> r1.368)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c?r1=1.367&r2=1.368)
pgsql/src/backend/catalog:
index.c (r1.334 -> r1.335)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/index.c?r1=1.334&r2=1.335)
pgsql/src/backend/commands:
analyze.c (r1.149 -> r1.150)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/analyze.c?r1=1.149&r2=1.150)
copy.c (r1.323 -> r1.324)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/copy.c?r1=1.323&r2=1.324)
vacuum.c (r1.404 -> r1.405)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/vacuum.c?r1=1.404&r2=1.405)
vacuumlazy.c (r1.128 -> r1.129)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/vacuumlazy.c?r1=1.128&r2=1.129)
pgsql/src/backend/executor:
execUtils.c (r1.169 -> r1.170)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execUtils.c?r1=1.169&r2=1.170)
nodeModifyTable.c (r1.5 -> r1.6)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeModifyTable.c?r1=1.5&r2=1.6)
pgsql/src/backend/parser:
gram.y (r2.706 -> r2.707)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y?r1=2.706&r2=2.707)
pgsql/src/backend/storage/lmgr:
proc.c (r1.214 -> r1.215)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/proc.c?r1=1.214&r2=1.215)
pgsql/src/backend/utils/cache:
inval.c (r1.94 -> r1.95)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/inval.c?r1=1.94&r2=1.95)
pgsql/src/backend/utils/time:
tqual.c (r1.115 -> r1.116)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/time/tqual.c?r1=1.115&r2=1.116)
pgsql/src/bin/scripts:
vacuumdb.c (r1.33 -> r1.34)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/scripts/vacuumdb.c?r1=1.33&r2=1.34)
pgsql/src/include/access:
genam.h (r1.82 -> r1.83)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/genam.h?r1=1.82&r2=1.83)
heapam.h (r1.146 -> r1.147)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/heapam.h?r1=1.146&r2=1.147)
htup.h (r1.110 -> r1.111)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/htup.h?r1=1.110&r2=1.111)
nbtree.h (r1.127 -> r1.128)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/nbtree.h?r1=1.127&r2=1.128)
xact.h (r1.100 -> r1.101)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xact.h?r1=1.100&r2=1.101)
xlog.h (r1.101 -> r1.102)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog.h?r1=1.101&r2=1.102)
pgsql/src/include/commands:
vacuum.h (r1.87 -> r1.88)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/commands/vacuum.h?r1=1.87&r2=1.88)
pgsql/src/include/executor:
executor.h (r1.166 -> r1.167)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/executor.h?r1=1.166&r2=1.167)
pgsql/src/include/nodes:
parsenodes.h (r1.427 -> r1.428)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/parsenodes.h?r1=1.427&r2=1.428)
pgsql/src/include/parser:
kwlist.h (r1.10 -> r1.11)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/kwlist.h?r1=1.10&r2=1.11)
pgsql/src/include/utils:
inval.h (r1.48 -> r1.49)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/inval.h?r1=1.48&r2=1.49)
pgsql/src/test/regress/expected:
vacuum.out (r1.4 -> r1.5)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/vacuum.out?r1=1.4&r2=1.5)
pgsql/src/test/regress/sql:
vacuum.sql (r1.3 -> r1.4)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/vacuum.sql?r1=1.3&r2=1.4)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2010-02-08 05:17:31 pgsql: Remove some more dead VACUUM-FULL-only code.
Previous Message User Maosen 2010-02-08 04:24:19 pgexternaltable - src:

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2010-02-08 04:41:31 Re: Knngist for 8.5
Previous Message Robert Haas 2010-02-08 04:23:18 Re: damage control mode