diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2017-08-03 20:49:07 -0400 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2017-08-03 21:08:39 -0400 |
commit | e0446d06e9993c4fc18261c1bb240f3976e951bc (patch) | |
tree | 6e8a6db733ef3c3083aa39fdf2db501b1f7fc36a /src | |
parent | b93217653b6874a71f3e981882cdc0dd36c0e540 (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.y | 14 |
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; } ; |