summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2017-08-03 20:49:07 -0400
committerPeter Eisentraut <peter_e@gmx.net>2017-08-03 21:08:39 -0400
commite0446d06e9993c4fc18261c1bb240f3976e951bc (patch)
tree6e8a6db733ef3c3083aa39fdf2db501b1f7fc36a /src
parentb93217653b6874a71f3e981882cdc0dd36c0e540 (diff)
Add missing ALTER USER variants
ALTER USER ... SET did not support all the syntax variants of ALTER ROLE ... SET. Reported-by: Pavel Golub <pavel@microolap.com>
Diffstat (limited to 'src')
-rw-r--r--src/backend/parser/gram.y14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index b55a2569d3b..b19ba4e0b24 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -1063,12 +1063,20 @@ AlterUserStmt:
AlterUserSetStmt:
- ALTER USER RoleId SetResetClause
+ ALTER USER RoleId opt_in_database SetResetClause
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = $3;
- n->database = NULL;
- n->setstmt = $4;
+ n->database = $4;
+ n->setstmt = $5;
+ $$ = (Node *)n;
+ }
+ | ALTER USER ALL opt_in_database SetResetClause
+ {
+ AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
+ n->role = NULL;
+ n->database = $4;
+ n->setstmt = $5;
$$ = (Node *)n;
}
;