diff options
| author | Stephen Frost <sfrost@snowman.net> | 2014-08-21 19:06:17 -0400 |
|---|---|---|
| committer | Stephen Frost <sfrost@snowman.net> | 2014-08-21 19:06:17 -0400 |
| commit | 3c4cf080879b386d4ed1814667aca025caafe608 (patch) | |
| tree | ec530d19313baddf3ff3ee8aa693c5f4f0326b32 /src/include | |
| parent | f57791985ac3d776cb67e9d69befde538cfdf13b (diff) | |
| download | postgresql-3c4cf080879b386d4ed1814667aca025caafe608.tar.gz | |
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.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/commands/tablecmds.h | 2 | ||||
| -rw-r--r-- | src/include/commands/tablespace.h | 1 | ||||
| -rw-r--r-- | src/include/nodes/nodes.h | 2 | ||||
| -rw-r--r-- | src/include/nodes/parsenodes.h | 7 |
4 files changed, 6 insertions, 6 deletions
diff --git a/src/include/commands/tablecmds.h b/src/include/commands/tablecmds.h index e55f45ab26..932322f144 100644 --- a/src/include/commands/tablecmds.h +++ b/src/include/commands/tablecmds.h @@ -35,6 +35,8 @@ extern void ATExecChangeOwner(Oid relationOid, Oid newOwnerId, bool recursing, L extern void AlterTableInternal(Oid relid, List *cmds, bool recurse); +extern Oid AlterTableMoveAll(AlterTableMoveAllStmt *stmt); + extern Oid AlterTableNamespace(AlterObjectSchemaStmt *stmt); extern void AlterTableNamespaceInternal(Relation rel, Oid oldNspOid, diff --git a/src/include/commands/tablespace.h b/src/include/commands/tablespace.h index 073cb0d64a..d01ae8bdf9 100644 --- a/src/include/commands/tablespace.h +++ b/src/include/commands/tablespace.h @@ -43,7 +43,6 @@ extern Oid CreateTableSpace(CreateTableSpaceStmt *stmt); extern void DropTableSpace(DropTableSpaceStmt *stmt); extern Oid RenameTableSpace(const char *oldname, const char *newname); extern Oid AlterTableSpaceOptions(AlterTableSpaceOptionsStmt *stmt); -extern Oid AlterTableSpaceMove(AlterTableSpaceMoveStmt *stmt); extern void TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo); diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h index 067c7685f0..a031b88b87 100644 --- a/src/include/nodes/nodes.h +++ b/src/include/nodes/nodes.h @@ -354,7 +354,7 @@ typedef enum NodeTag T_AlterUserMappingStmt, T_DropUserMappingStmt, T_AlterTableSpaceOptionsStmt, - T_AlterTableSpaceMoveStmt, + T_AlterTableMoveAllStmt, T_SecLabelStmt, T_CreateForeignTableStmt, T_ImportForeignSchemaStmt, diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 8364bef79f..f6ccdcdc98 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -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 |
