Reduce lock levels of some ALTER TABLE cmds
Simon Riggs <simon@2ndQuadrant.com>
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
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/mvcc.sgml | modified | +6 −3 |
| doc/src/sgml/ref/alter_table.sgml | modified | +34 −4 |
| src/backend/catalog/toasting.c | modified | +37 −14 |
| src/backend/commands/cluster.c | modified | +7 −7 |
| src/backend/commands/createas.c | modified | +2 −2 |
| src/backend/commands/tablecmds.c | modified | +109 −65 |
| src/backend/tcop/utility.c | modified | +2 −2 |
| src/backend/utils/adt/ruleutils.c | modified | +31 −2 |
| src/backend/utils/cache/relcache.c | modified | +67 −7 |
| src/include/catalog/toasting.h | modified | +7 −1 |
| src/test/isolation/isolation_schedule | modified | +1 −0 |
| src/test/regress/expected/alter_table.out | modified | +69 −12 |
| src/test/regress/sql/alter_table.sql | modified | +29 −0 |