pgsql: tableam: relation creation, VACUUM FULL/CLUSTER,SET TABLESPACE.
От | Andres Freund |
---|---|
Тема | pgsql: tableam: relation creation, VACUUM FULL/CLUSTER,SET TABLESPACE. |
Дата | |
Msg-id | E1h9hra-0000eL-4y@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
tableam: relation creation, VACUUM FULL/CLUSTER, SET TABLESPACE. This moves the responsibility for: - creating the storage necessary for a relation, including creating a new relfilenode for a relation with existing storage - non-transactional truncation of a relation - VACUUM FULL / CLUSTER's rewrite of a table below tableam. This is fairly straight forward, with a bit of complexity smattered in to move the computation of xid / multixid horizons below the AM, as they don't make sense for every table AM. Author: Andres Freund Discussion: https://postgr.es/m/20180703070645.wchpu5muyto5n647@alap3.anarazel.de Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/d25f519107bff602e1ebc81853fe592d020c118d Modified Files -------------- src/backend/access/heap/heapam_handler.c | 451 +++++++++++++++++++++++++++++++ src/backend/bootstrap/bootparse.y | 7 +- src/backend/catalog/heap.c | 120 ++++---- src/backend/catalog/index.c | 11 +- src/backend/catalog/storage.c | 88 ++++++ src/backend/commands/cluster.c | 342 ++--------------------- src/backend/commands/sequence.c | 30 +- src/backend/commands/tablecmds.c | 180 ++++-------- src/backend/utils/cache/relcache.c | 77 +++--- src/include/access/tableam.h | 117 ++++++++ src/include/catalog/heap.h | 6 +- src/include/catalog/storage.h | 3 + src/include/utils/relcache.h | 3 +- 13 files changed, 856 insertions(+), 579 deletions(-)
В списке pgsql-committers по дате отправления: