Looking at this a bit, I'm not sure completely replacing RoleId with a node is the best idea; some of the users of that production in the grammar are okay with accepting only normal strings as names, and don't need all the CURRENT_USER etc stuff. Maybe we need a new production, say RoleSpec, and we modify the few productions that need the extra flexibility? For instance we could have ALTER USER RoleSpec instead of ALTER USER RoleId. But we would keep CREATE USER RoleId, because it doesn't make any sense to accept CREATE USER CURRENT_USER.
I think that would lead to a less invasive patch also. Am I making sense? -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers