mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	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>
This commit is contained in:
		@@ -38,7 +38,7 @@ ALTER ROLE <replaceable class="PARAMETER">name</replaceable> [ [ WITH ] <replace
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ALTER ROLE <replaceable class="PARAMETER">name</replaceable> RENAME TO <replaceable>new_name</replaceable>
 | 
					ALTER ROLE <replaceable class="PARAMETER">name</replaceable> RENAME TO <replaceable>new_name</replaceable>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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 }
 | 
					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 }
 | 
				
			||||||
ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> FROM CURRENT
 | 
					ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> FROM CURRENT
 | 
				
			||||||
ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET <replaceable>configuration_parameter</replaceable>
 | 
					ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET <replaceable>configuration_parameter</replaceable>
 | 
				
			||||||
ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET ALL
 | 
					ALTER ROLE { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET ALL
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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> 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> | ALL } [ 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> SET <replaceable>configuration_parameter</replaceable> FROM CURRENT
 | 
					ALTER USER { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_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> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET <replaceable>configuration_parameter</replaceable>
 | 
				
			||||||
ALTER USER <replaceable class="PARAMETER">name</replaceable> RESET ALL
 | 
					ALTER USER { <replaceable class="PARAMETER">name</replaceable> | ALL } [ IN DATABASE <replaceable class="PARAMETER">database_name</replaceable> ] RESET ALL
 | 
				
			||||||
</synopsis>
 | 
					</synopsis>
 | 
				
			||||||
 </refsynopsisdiv>
 | 
					 </refsynopsisdiv>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1063,12 +1063,20 @@ AlterUserStmt:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
AlterUserSetStmt:
 | 
					AlterUserSetStmt:
 | 
				
			||||||
			ALTER USER RoleId SetResetClause
 | 
								ALTER USER RoleId opt_in_database SetResetClause
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
 | 
										AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
 | 
				
			||||||
					n->role = $3;
 | 
										n->role = $3;
 | 
				
			||||||
					n->database = NULL;
 | 
										n->database = $4;
 | 
				
			||||||
					n->setstmt = $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;
 | 
										$$ = (Node *)n;
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			;
 | 
								;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user