oper_argtypes RuleActionList RuleActionMulti
opt_column_list columnList opt_name_list
sort_clause opt_sort_clause sortby_list index_params
- name_list from_clause from_list opt_array_bounds
+ name_list role_list from_clause from_list opt_array_bounds
qualified_name_list any_name any_name_list
any_operator expr_list attrs
target_list insert_column_list set_target_list
$$ = makeDefElem("validUntil", (Node *)makeString($3));
}
/* Supported but not documented for roles, for use by ALTER GROUP. */
- | USER name_list
+ | USER role_list
{
$$ = makeDefElem("rolemembers", (Node *)$2);
}
{
$$ = makeDefElem("sysid", (Node *)makeInteger($2));
}
- | ADMIN name_list
+ | ADMIN role_list
{
$$ = makeDefElem("adminmembers", (Node *)$2);
}
- | ROLE name_list
+ | ROLE role_list
{
$$ = makeDefElem("rolemembers", (Node *)$2);
}
- | IN_P ROLE name_list
+ | IN_P ROLE role_list
{
$$ = makeDefElem("addroleto", (Node *)$3);
}
- | IN_P GROUP_P name_list
+ | IN_P GROUP_P role_list
{
$$ = makeDefElem("addroleto", (Node *)$3);
}
*****************************************************************************/
DropRoleStmt:
- DROP ROLE name_list
+ DROP ROLE role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
n->roles = $3;
$$ = (Node *)n;
}
- | DROP ROLE IF_P EXISTS name_list
+ | DROP ROLE IF_P EXISTS role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = TRUE;
*****************************************************************************/
DropUserStmt:
- DROP USER name_list
+ DROP USER role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
n->roles = $3;
$$ = (Node *)n;
}
- | DROP USER IF_P EXISTS name_list
+ | DROP USER IF_P EXISTS role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->roles = $5;
*****************************************************************************/
AlterGroupStmt:
- ALTER GROUP_P RoleId add_drop USER name_list
+ ALTER GROUP_P RoleId add_drop USER role_list
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = $3;
*****************************************************************************/
DropGroupStmt:
- DROP GROUP_P name_list
+ DROP GROUP_P role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = FALSE;
n->roles = $3;
$$ = (Node *)n;
}
- | DROP GROUP_P IF_P EXISTS name_list
+ | DROP GROUP_P IF_P EXISTS role_list
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = TRUE;
*
*****************************************************************************/
DropOwnedStmt:
- DROP OWNED BY name_list opt_drop_behavior
- {
+ DROP OWNED BY role_list opt_drop_behavior
+ {
DropOwnedStmt *n = makeNode(DropOwnedStmt);
n->roles = $4;
n->behavior = $5;
;
ReassignOwnedStmt:
- REASSIGN OWNED BY name_list TO name
+ REASSIGN OWNED BY role_list TO name
{
ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
n->roles = $4;
*****************************************************************************/
GrantRoleStmt:
- GRANT privilege_list TO name_list opt_grant_admin_option opt_granted_by
+ GRANT privilege_list TO role_list opt_grant_admin_option opt_granted_by
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = true;
;
RevokeRoleStmt:
- REVOKE privilege_list FROM name_list opt_granted_by opt_drop_behavior
+ REVOKE privilege_list FROM role_list opt_granted_by opt_drop_behavior
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
n->behavior = $6;
$$ = (Node*)n;
}
- | REVOKE ADMIN OPTION FOR privilege_list FROM name_list opt_granted_by opt_drop_behavior
+ | REVOKE ADMIN OPTION FOR privilege_list FROM role_list opt_granted_by opt_drop_behavior
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
{
$$ = makeDefElem("schemas", (Node *)$3);
}
- | FOR ROLE name_list
+ | FOR ROLE role_list
{
$$ = makeDefElem("roles", (Node *)$3);
}
- | FOR USER name_list
+ | FOR USER role_list
{
$$ = makeDefElem("roles", (Node *)$3);
}
Sconst: SCONST { $$ = $1; };
RoleId: NonReservedWord { $$ = $1; };
+role_list: RoleId
+ { $$ = list_make1(makeString($1)); }
+ | role_list ',' RoleId
+ { $$ = lappend($1, makeString($3)); }
+ ;
+
SignedIconst: Iconst { $$ = $1; }
| '+' Iconst { $$ = + $2; }
| '-' Iconst { $$ = - $2; }