pgsql: Refactor code in tablecmds.c to check and process tablespace mov
От | Michael Paquier |
---|---|
Тема | pgsql: Refactor code in tablecmds.c to check and process tablespace mov |
Дата | |
Msg-id | E1l4az0-0000uQ-Mz@gemulon.postgresql.org обсуждение исходный текст |
Ответы |
Re: pgsql: Refactor code in tablecmds.c to check and process tablespace mov
|
Список | pgsql-committers |
Refactor code in tablecmds.c to check and process tablespace moves Two code paths of tablecmds.c (for relations with storage and without storage) use the same logic to check if the move of a relation to a new tablespace is allowed or not and to update pg_class.reltablespace and pg_class.relfilenode. A potential TABLESPACE clause for REINDEX, CLUSTER and VACUUM FULL needs similar checks to make sure that nothing is moved around in illegal ways (no mapped relations, shared relations only in pg_global, no move of temp tables owned by other backends). This reorganizes the existing code of ALTER TABLE so as all this logic is controlled by two new routines that can be reused for the other commands able to move relations across tablespaces, limiting the number of code paths in need of the same protections. This also removes some code that was duplicated for tables with and without storage for ALTER TABLE. Author: Alexey Kondratov, Michael Paquier Discussion: https://postgr.es/m/YA+9mAMWYLXJMVPL@paquier.xyz Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/4c9c359d38ff1e2de388eedd860785be6a49201c Modified Files -------------- src/backend/commands/tablecmds.c | 211 ++++++++++++++++++++++----------------- src/include/commands/tablecmds.h | 4 + 2 files changed, 124 insertions(+), 91 deletions(-)
В списке pgsql-committers по дате отправления: