On 06/19/2014 07:18 PM, Tom Lane wrote: > Jov <am...@amutu.com> writes: >> the doc say: >>> ALTER USER is now an alias for ALTER >>> ROLE<http://www.postgresql.org/docs/devel/static/sql-alterrole.html> > >> but alter user lack the following format: >> ... > > If we're going to have a policy that these commands be exactly equivalent, > it seems like this patch is just sticking a finger into the dike. It does > nothing to prevent anyone from making the same mistake again in future. > > What about collapsing both sets of productions into one, along the lines > of > > role_or_user: ROLE | USER; > > AlterRoleSetStmt: > ALTER role_or_user RoleId opt_in_database SetResetClause > > (and similarly to the latter for every existing ALTER ROLE variant).
I thought about suggesting that, and it seems that I should have. I also thought about suggesting adding GROUP as an alias, too. That's probably not as good of an idea. > Because MAPPING is an unreserved keyword, I think that this approach > might force us to also change ALTER USER MAPPING to ALTER role_or_user > MAPPING, which is not contemplated by the SQL standard. But hey, > it would satisfy the principle of least surprise no? Anyway we don't > have to document that that would work. That's a small price to pay, so I'm all for accepting it. I agree that it doesn't need to be documented. -- Vik -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers