Add missing ALTER USER variants
authorPeter Eisentraut <[email protected]>
Fri, 4 Aug 2017 00:49:07 +0000 (20:49 -0400)
committerPeter Eisentraut <[email protected]>
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 <[email protected]>
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;
                }
            ;