Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b7d1bc8

Browse files
committed
Add missing ALTER USER variants
ALTER USER ... SET did not support all the syntax variants of ALTER ROLE ... SET. Reported-by: Pavel Golub <[email protected]>
1 parent 035bb82 commit b7d1bc8

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

doc/src/sgml/ref/alter_role.sgml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ ALTER ROLE <replaceable class="PARAMETER">name</replaceable> [ [ WITH ] <replace
3838

3939
ALTER ROLE <replaceable class="PARAMETER">name</replaceable> RENAME TO <replaceable>new_name</replaceable>
4040

41-
ALTER ROLE <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT }
41+
ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT }
4242
ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> FROM CURRENT
4343
ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET <replaceable>configuration_parameter</replaceable>
4444
ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET ALL

doc/src/sgml/ref/alter_user.sgml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ ALTER USER <replaceable class="PARAMETER">name</replaceable> [ [ WITH ] <replace
3838

3939
ALTER USER <replaceable class="PARAMETER">name</replaceable> RENAME TO <replaceable>new_name</replaceable>
4040

41-
ALTER USER <replaceable class="PARAMETER">name</replaceable> SET <replaceable>configuration_parameter</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT }
42-
ALTER USER <replaceable class="PARAMETER">name</replaceable> SET <replaceable>configuration_parameter</replaceable> FROM CURRENT
43-
ALTER USER <replaceable class="PARAMETER">name</replaceable> RESET <replaceable>configuration_parameter</replaceable>
44-
ALTER USER <replaceable class="PARAMETER">name</replaceable> RESET ALL
41+
ALTER USER { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT }
42+
ALTER USER { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> FROM CURRENT
43+
ALTER USER { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET <replaceable>configuration_parameter</replaceable>
44+
ALTER USER { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET ALL
4545
</synopsis>
4646
</refsynopsisdiv>
4747

src/backend/parser/gram.y

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,12 +1049,20 @@ AlterUserStmt:
10491049

10501050

10511051
AlterUserSetStmt:
1052-
ALTER USER RoleId SetResetClause
1052+
ALTER USER RoleId opt_in_database SetResetClause
10531053
{
10541054
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
10551055
n->role = $3;
1056-
n->database = NULL;
1057-
n->setstmt = $4;
1056+
n->database = $4;
1057+
n->setstmt = $5;
1058+
$$ = (Node *)n;
1059+
}
1060+
| ALTER USER ALL opt_in_database SetResetClause
1061+
{
1062+
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
1063+
n->role = NULL;
1064+
n->database = $4;
1065+
n->setstmt = $5;
10581066
$$ = (Node *)n;
10591067
}
10601068
;

0 commit comments

Comments
 (0)