diff options
| author | Stephen Frost | 2014-01-24 04:52:40 +0000 |
|---|---|---|
| committer | Stephen Frost | 2014-01-24 04:52:40 +0000 |
| commit | fbe19ee3b87590f1006d072be5fecf8a33d4e9f5 (patch) | |
| tree | 1e4a87ee5af49862e84d372d1ad29f278ca5648a /src/include | |
| parent | 3ee74df2e48cde3c471637d14b18475abb0eb69a (diff) | |
ALTER TABLESPACE ... MOVE ... OWNED BY
Add the ability to specify the objects to move by who those objects are
owned by (as relowner) and change ALL to mean ALL objects. This
makes the command always operate against a well-defined set of objects
and not have the objects-to-be-moved based on the role of the user
running the command.
Per discussion with Simon and Tom.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/commands/user.h | 1 | ||||
| -rw-r--r-- | src/include/nodes/parsenodes.h | 5 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/include/commands/user.h b/src/include/commands/user.h index 9e73a195e3f..d76685182f8 100644 --- a/src/include/commands/user.h +++ b/src/include/commands/user.h @@ -30,5 +30,6 @@ extern void GrantRole(GrantRoleStmt *stmt); extern Oid RenameRole(const char *oldname, const char *newname); extern void DropOwnedObjects(DropOwnedStmt *stmt); extern void ReassignOwnedObjects(ReassignOwnedStmt *stmt); +extern List *roleNamesToIds(List *memberNames); #endif /* USER_H */ diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 846c31aebdf..ad58b3949b6 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -1691,10 +1691,11 @@ typedef struct AlterTableSpaceMoveStmt { NodeTag type; char *orig_tablespacename; + ObjectType objtype; /* set to -1 if move_all is true */ + bool move_all; /* move all, or just objtype objects? */ + List *roles; /* List of roles to move objects of */ char *new_tablespacename; - ObjectType objtype; bool nowait; - bool move_all; } AlterTableSpaceMoveStmt; /* ---------------------- |
