Hello, Tom.
You wrote:
TL> Pavel Golub <pavel@microolap.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"
Oops! My bad!
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.
Yeap, I see now separate rule for ALL in AlterRoleSetStmt.
TL> 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@gf.microolap.com