Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 5f508b6

Browse files
committed
Make a dedicated AlterTblSpcStmt production
Given that ALTER TABLESPACE has moved on from just existing for general purpose rename/owner changes, it deserves its own top-level production in the grammar. This also cleans up the RenameStmt to only ever be used for actual RENAMEs again- it really wasn't appropriate to hide non-RENAME productions under there. Noted by Alvaro.
1 parent b3e6593 commit 5f508b6

File tree

1 file changed

+124
-115
lines changed

1 file changed

+124
-115
lines changed

src/backend/parser/gram.y

+124-115
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
218218
AlterDatabaseStmt AlterDatabaseSetStmt AlterDomainStmt AlterEnumStmt
219219
AlterFdwStmt AlterForeignServerStmt AlterGroupStmt
220220
AlterObjectSchemaStmt AlterOwnerStmt AlterSeqStmt AlterSystemStmt AlterTableStmt
221-
AlterExtensionStmt AlterExtensionContentsStmt AlterForeignTableStmt
221+
AlterTblSpcStmt AlterExtensionStmt AlterExtensionContentsStmt AlterForeignTableStmt
222222
AlterCompositeTypeStmt AlterUserStmt AlterUserMappingStmt AlterUserSetStmt
223223
AlterRoleStmt AlterRoleSetStmt
224224
AlterDefaultPrivilegesStmt DefACLAction
@@ -728,6 +728,7 @@ stmt :
728728
| AlterSeqStmt
729729
| AlterSystemStmt
730730
| AlterTableStmt
731+
| AlterTblSpcStmt
731732
| AlterCompositeTypeStmt
732733
| AlterRoleSetStmt
733734
| AlterRoleStmt
@@ -6934,6 +6935,128 @@ opt_force: FORCE { $$ = TRUE; }
69346935
;
69356936

69366937

6938+
/*****************************************************************************
6939+
*
6940+
* ALTER TABLESPACE
6941+
*
6942+
*****************************************************************************/
6943+
6944+
AlterTblSpcStmt: ALTER TABLESPACE name MOVE ALL TO name opt_nowait
6945+
{
6946+
AlterTableSpaceMoveStmt *n =
6947+
makeNode(AlterTableSpaceMoveStmt);
6948+
n->orig_tablespacename = $3;
6949+
n->objtype = -1;
6950+
n->move_all = true;
6951+
n->roles = NIL;
6952+
n->new_tablespacename = $7;
6953+
n->nowait = $8;
6954+
$$ = (Node *)n;
6955+
}
6956+
| ALTER TABLESPACE name MOVE TABLES TO name opt_nowait
6957+
{
6958+
AlterTableSpaceMoveStmt *n =
6959+
makeNode(AlterTableSpaceMoveStmt);
6960+
n->orig_tablespacename = $3;
6961+
n->objtype = OBJECT_TABLE;
6962+
n->move_all = false;
6963+
n->roles = NIL;
6964+
n->new_tablespacename = $7;
6965+
n->nowait = $8;
6966+
$$ = (Node *)n;
6967+
}
6968+
| ALTER TABLESPACE name MOVE INDEXES TO name opt_nowait
6969+
{
6970+
AlterTableSpaceMoveStmt *n =
6971+
makeNode(AlterTableSpaceMoveStmt);
6972+
n->orig_tablespacename = $3;
6973+
n->objtype = OBJECT_INDEX;
6974+
n->move_all = false;
6975+
n->roles = NIL;
6976+
n->new_tablespacename = $7;
6977+
n->nowait = $8;
6978+
$$ = (Node *)n;
6979+
}
6980+
| ALTER TABLESPACE name MOVE MATERIALIZED VIEWS TO name opt_nowait
6981+
{
6982+
AlterTableSpaceMoveStmt *n =
6983+
makeNode(AlterTableSpaceMoveStmt);
6984+
n->orig_tablespacename = $3;
6985+
n->objtype = OBJECT_MATVIEW;
6986+
n->move_all = false;
6987+
n->roles = NIL;
6988+
n->new_tablespacename = $8;
6989+
n->nowait = $9;
6990+
$$ = (Node *)n;
6991+
}
6992+
| ALTER TABLESPACE name MOVE ALL OWNED BY role_list TO name opt_nowait
6993+
{
6994+
AlterTableSpaceMoveStmt *n =
6995+
makeNode(AlterTableSpaceMoveStmt);
6996+
n->orig_tablespacename = $3;
6997+
n->objtype = -1;
6998+
n->move_all = true;
6999+
n->roles = $8;
7000+
n->new_tablespacename = $10;
7001+
n->nowait = $11;
7002+
$$ = (Node *)n;
7003+
}
7004+
| ALTER TABLESPACE name MOVE TABLES OWNED BY role_list TO name opt_nowait
7005+
{
7006+
AlterTableSpaceMoveStmt *n =
7007+
makeNode(AlterTableSpaceMoveStmt);
7008+
n->orig_tablespacename = $3;
7009+
n->objtype = OBJECT_TABLE;
7010+
n->move_all = false;
7011+
n->roles = $8;
7012+
n->new_tablespacename = $10;
7013+
n->nowait = $11;
7014+
$$ = (Node *)n;
7015+
}
7016+
| ALTER TABLESPACE name MOVE INDEXES OWNED BY role_list TO name opt_nowait
7017+
{
7018+
AlterTableSpaceMoveStmt *n =
7019+
makeNode(AlterTableSpaceMoveStmt);
7020+
n->orig_tablespacename = $3;
7021+
n->objtype = OBJECT_INDEX;
7022+
n->move_all = false;
7023+
n->roles = $8;
7024+
n->new_tablespacename = $10;
7025+
n->nowait = $11;
7026+
$$ = (Node *)n;
7027+
}
7028+
| ALTER TABLESPACE name MOVE MATERIALIZED VIEWS OWNED BY role_list TO name opt_nowait
7029+
{
7030+
AlterTableSpaceMoveStmt *n =
7031+
makeNode(AlterTableSpaceMoveStmt);
7032+
n->orig_tablespacename = $3;
7033+
n->objtype = OBJECT_MATVIEW;
7034+
n->move_all = false;
7035+
n->roles = $9;
7036+
n->new_tablespacename = $11;
7037+
n->nowait = $12;
7038+
$$ = (Node *)n;
7039+
}
7040+
| ALTER TABLESPACE name SET reloptions
7041+
{
7042+
AlterTableSpaceOptionsStmt *n =
7043+
makeNode(AlterTableSpaceOptionsStmt);
7044+
n->tablespacename = $3;
7045+
n->options = $5;
7046+
n->isReset = FALSE;
7047+
$$ = (Node *)n;
7048+
}
7049+
| ALTER TABLESPACE name RESET reloptions
7050+
{
7051+
AlterTableSpaceOptionsStmt *n =
7052+
makeNode(AlterTableSpaceOptionsStmt);
7053+
n->tablespacename = $3;
7054+
n->options = $5;
7055+
n->isReset = TRUE;
7056+
$$ = (Node *)n;
7057+
}
7058+
;
7059+
69377060
/*****************************************************************************
69387061
*
69397062
* ALTER THING name RENAME TO newname
@@ -7322,120 +7445,6 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
73227445
n->missing_ok = false;
73237446
$$ = (Node *)n;
73247447
}
7325-
| ALTER TABLESPACE name MOVE ALL TO name opt_nowait
7326-
{
7327-
AlterTableSpaceMoveStmt *n =
7328-
makeNode(AlterTableSpaceMoveStmt);
7329-
n->orig_tablespacename = $3;
7330-
n->objtype = -1;
7331-
n->move_all = true;
7332-
n->roles = NIL;
7333-
n->new_tablespacename = $7;
7334-
n->nowait = $8;
7335-
$$ = (Node *)n;
7336-
}
7337-
| ALTER TABLESPACE name MOVE TABLES TO name opt_nowait
7338-
{
7339-
AlterTableSpaceMoveStmt *n =
7340-
makeNode(AlterTableSpaceMoveStmt);
7341-
n->orig_tablespacename = $3;
7342-
n->objtype = OBJECT_TABLE;
7343-
n->move_all = false;
7344-
n->roles = NIL;
7345-
n->new_tablespacename = $7;
7346-
n->nowait = $8;
7347-
$$ = (Node *)n;
7348-
}
7349-
| ALTER TABLESPACE name MOVE INDEXES TO name opt_nowait
7350-
{
7351-
AlterTableSpaceMoveStmt *n =
7352-
makeNode(AlterTableSpaceMoveStmt);
7353-
n->orig_tablespacename = $3;
7354-
n->objtype = OBJECT_INDEX;
7355-
n->move_all = false;
7356-
n->roles = NIL;
7357-
n->new_tablespacename = $7;
7358-
n->nowait = $8;
7359-
$$ = (Node *)n;
7360-
}
7361-
| ALTER TABLESPACE name MOVE MATERIALIZED VIEWS TO name opt_nowait
7362-
{
7363-
AlterTableSpaceMoveStmt *n =
7364-
makeNode(AlterTableSpaceMoveStmt);
7365-
n->orig_tablespacename = $3;
7366-
n->objtype = OBJECT_MATVIEW;
7367-
n->move_all = false;
7368-
n->roles = NIL;
7369-
n->new_tablespacename = $8;
7370-
n->nowait = $9;
7371-
$$ = (Node *)n;
7372-
}
7373-
| ALTER TABLESPACE name MOVE ALL OWNED BY role_list TO name opt_nowait
7374-
{
7375-
AlterTableSpaceMoveStmt *n =
7376-
makeNode(AlterTableSpaceMoveStmt);
7377-
n->orig_tablespacename = $3;
7378-
n->objtype = -1;
7379-
n->move_all = true;
7380-
n->roles = $8;
7381-
n->new_tablespacename = $10;
7382-
n->nowait = $11;
7383-
$$ = (Node *)n;
7384-
}
7385-
| ALTER TABLESPACE name MOVE TABLES OWNED BY role_list TO name opt_nowait
7386-
{
7387-
AlterTableSpaceMoveStmt *n =
7388-
makeNode(AlterTableSpaceMoveStmt);
7389-
n->orig_tablespacename = $3;
7390-
n->objtype = OBJECT_TABLE;
7391-
n->move_all = false;
7392-
n->roles = $8;
7393-
n->new_tablespacename = $10;
7394-
n->nowait = $11;
7395-
$$ = (Node *)n;
7396-
}
7397-
| ALTER TABLESPACE name MOVE INDEXES OWNED BY role_list TO name opt_nowait
7398-
{
7399-
AlterTableSpaceMoveStmt *n =
7400-
makeNode(AlterTableSpaceMoveStmt);
7401-
n->orig_tablespacename = $3;
7402-
n->objtype = OBJECT_INDEX;
7403-
n->move_all = false;
7404-
n->roles = $8;
7405-
n->new_tablespacename = $10;
7406-
n->nowait = $11;
7407-
$$ = (Node *)n;
7408-
}
7409-
| ALTER TABLESPACE name MOVE MATERIALIZED VIEWS OWNED BY role_list TO name opt_nowait
7410-
{
7411-
AlterTableSpaceMoveStmt *n =
7412-
makeNode(AlterTableSpaceMoveStmt);
7413-
n->orig_tablespacename = $3;
7414-
n->objtype = OBJECT_MATVIEW;
7415-
n->move_all = false;
7416-
n->roles = $9;
7417-
n->new_tablespacename = $11;
7418-
n->nowait = $12;
7419-
$$ = (Node *)n;
7420-
}
7421-
| ALTER TABLESPACE name SET reloptions
7422-
{
7423-
AlterTableSpaceOptionsStmt *n =
7424-
makeNode(AlterTableSpaceOptionsStmt);
7425-
n->tablespacename = $3;
7426-
n->options = $5;
7427-
n->isReset = FALSE;
7428-
$$ = (Node *)n;
7429-
}
7430-
| ALTER TABLESPACE name RESET reloptions
7431-
{
7432-
AlterTableSpaceOptionsStmt *n =
7433-
makeNode(AlterTableSpaceOptionsStmt);
7434-
n->tablespacename = $3;
7435-
n->options = $5;
7436-
n->isReset = TRUE;
7437-
$$ = (Node *)n;
7438-
}
74397448
| ALTER TEXT_P SEARCH PARSER any_name RENAME TO name
74407449
{
74417450
RenameStmt *n = makeNode(RenameStmt);

0 commit comments

Comments
 (0)