Reduce lock levels of some ALTER TABLE cmds
VALIDATE CONSTRAINT
CLUSTER ON
SET WITHOUT CLUSTER
ALTER COLUMN SET STATISTICS
ALTER COLUMN SET ()
ALTER COLUMN RESET ()
All other sub-commands use AccessExclusiveLock
Simon Riggs and Noah Misch
Reviews by Robert Haas and Andres Freund
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/e5550d5fec66aa74caad1f79b79826ec64898688
Modified Files
--------------
doc/src/sgml/mvcc.sgml | 9 +-
doc/src/sgml/ref/alter_table.sgml | 38 ++++++-
src/backend/catalog/toasting.c | 51 ++++++---
src/backend/commands/cluster.c | 14 +--
src/backend/commands/createas.c | 4 +-
src/backend/commands/tablecmds.c | 174 ++++++++++++++++++-----------
src/backend/tcop/utility.c | 4 +-
src/backend/utils/adt/ruleutils.c | 33 +++++-
src/backend/utils/cache/relcache.c | 74 ++++++++++--
src/include/catalog/toasting.h | 8 +-
src/test/isolation/isolation_schedule | 1 +
src/test/regress/expected/alter_table.out | 81 ++++++++++++--
src/test/regress/sql/alter_table.sql | 29 +++++
13 files changed, 401 insertions(+), 119 deletions(-)