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:48:36
Message-ID: 816177629.20170727094836@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"

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(at)gf(dot)microolap(dot)com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Golub 2017-07-27 06:52:49 Re: AlterUserStmt anmd RoleSpec rules in grammar.y
Previous Message Masahiko Sawada 2017-07-27 05:38:29 Re: Missing comment for max_logical_replication_workers in postgresql.conf.sample