Re: AlterUserStmt anmd RoleSpec rules in grammar.y

From: Pavel Golub <pavel(at)microolap(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: Pavel Golub <pavel(at)microolap(dot)com>, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: AlterUserStmt anmd RoleSpec rules in grammar.y
Date: 2017-07-27 06:52:49
Message-ID: 1732483136.20170727095249@gf.microolap.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello, Tom.

You wrote:

TL> Pavel Golub <pavel(at)microolap(dot)com> writes:
>> I need someone to throw some light on grammar (gram.y).
>> I'm investigating beta2 regression tests, and found new statement

>> `ALTER USER ALL SET application_name to 'SLAP';`
>> ^^^

TL> You'll notice that that statement fails in the regression tests:

TL> ALTER USER ALL SET application_name to 'SLAP';
TL> ERROR: syntax error at or near "ALL"

One more notice. ALTER USER ALL works in EnterpriseDB 10beta2
installer. That's weird. I thought EnterpriseDB uses official sources.

TL> The one that works is

TL> ALTER ROLE ALL SET application_name to 'SLAP';

TL> and the reason is that AlterRoleSetStmt has a separate production
TL> for ALL, but AlterUserSetStmt doesn't. This seems a tad bizarre
TL> though. Peter, you added that production (in commit 9475db3a4);
TL> is this difference intentional or just an oversight? If it's
TL> intentional, what's the reasoning?

TL> BTW, I'm quite confused as to why these test cases (in rolenames.sql)
TL> seem to predate that commit, and yet it did not change their results.

TL> regards, tom lane

--
With best wishes,
Pavel mailto:pavel(at)gf(dot)microolap(dot)com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kunshchikov Vladimir 2017-07-27 07:34:22 Re: [patch] pg_dump/pg_restore zerror() and strerror() mishap
Previous Message Pavel Golub 2017-07-27 06:48:36 Re: AlterUserStmt anmd RoleSpec rules in grammar.y