1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-06 07:49:08 +03:00

Rework 'MOVE ALL' to 'ALTER .. ALL IN TABLESPACE'

As 'ALTER TABLESPACE .. MOVE ALL' really didn't change the tablespace
but instead changed objects inside tablespaces, it made sense to
rework the syntax and supporting functions to operate under the
'ALTER (TABLE|INDEX|MATERIALIZED VIEW)' syntax and to be in
tablecmds.c.

Pointed out by Alvaro, who also suggested the new syntax.

Back-patch to 9.4.
This commit is contained in:
Stephen Frost
2014-08-21 19:06:17 -04:00
parent f57791985a
commit 3c4cf08087
18 changed files with 305 additions and 392 deletions

View File

@@ -1703,16 +1703,15 @@ typedef struct AlterTableSpaceOptionsStmt
bool isReset;
} AlterTableSpaceOptionsStmt;
typedef struct AlterTableSpaceMoveStmt
typedef struct AlterTableMoveAllStmt
{
NodeTag type;
char *orig_tablespacename;
ObjectType objtype; /* set to -1 if move_all is true */
bool move_all; /* move all, or just objtype objects? */
ObjectType objtype; /* Object type to move */
List *roles; /* List of roles to move objects of */
char *new_tablespacename;
bool nowait;
} AlterTableSpaceMoveStmt;
} AlterTableMoveAllStmt;
/* ----------------------
* Create/Alter Extension Statements