]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Add missing ALTER USER variants
authorPeter Eisentraut <peter_e@gmx.net>
Fri, 4 Aug 2017 00:49:07 +0000 (20:49 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Fri, 4 Aug 2017 01:42:46 +0000 (21:42 -0400)
ALTER USER ... SET did not support all the syntax variants of ALTER ROLE
...  SET.

Reported-by: Pavel Golub <pavel@microolap.com>
doc/src/sgml/ref/alter_user.sgml
src/backend/parser/gram.y

index 7588f636ed2324411a293c0ebf4e880a93462379..e110b47132ddfa832388bf749af120409a3e01ce 100644 (file)
@@ -38,10 +38,10 @@ ALTER USER <replaceable class="PARAMETER">name</replaceable> [ [ WITH ] <replace
 
 ALTER USER <replaceable class="PARAMETER">name</replaceable> RENAME TO <replaceable>new_name</replaceable>
 
-ALTER USER <replaceable class="PARAMETER">name</replaceable> SET <replaceable>configuration_parameter</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT }
-ALTER USER <replaceable class="PARAMETER">name</replaceable> SET <replaceable>configuration_parameter</replaceable> FROM CURRENT
-ALTER USER <replaceable class="PARAMETER">name</replaceable> RESET <replaceable>configuration_parameter</replaceable>
-ALTER USER <replaceable class="PARAMETER">name</replaceable> RESET ALL
+ALTER USER <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT }
+ALTER USER <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> FROM CURRENT
+ALTER USER <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET <replaceable>configuration_parameter</replaceable>
+ALTER USER <replaceable class="PARAMETER">name</replaceable> [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET ALL
 </synopsis>
  </refsynopsisdiv>
 
index b1d41b20a5930529788c595707fe30c82fe6f8de..4182f2fd7116a75b4e7d1130eaed99c501593120 100644 (file)
@@ -1012,12 +1012,12 @@ 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;
                                }
                        ;