Re: improving user.c error messages - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: improving user.c error messages
Date
Msg-id 20230126191358.GA1660026@nathanxps13
Whole thread Raw
In response to Re: improving user.c error messages  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: improving user.c error messages
List pgsql-hackers
Thanks for taking a look.

On Thu, Jan 26, 2023 at 10:07:39AM +0100, Alvaro Herrera wrote:
> Please use 
>         errdetail("You must have %s privilege to create roles with %s.",
>             "SUPERUSER", "SUPERUSER")));
> 
> in this kind of message where multiple copies appear that only differ in
> the keyword to use, to avoid creating four copies of essentially the
> same string.
> 
> This applies in several places.

I did this in v2.

>> -                     errmsg("must have createdb privilege to change createdb attribute")));
>> +                     errmsg("permission denied to alter role"),
>> +                     errhint("You must have CREATEDB privilege to alter roles with CREATEDB.")));
> 
> I think this one is a bit ambiguous; does "with" mean that roles that
> have that priv cannot be changed, or does it mean that you cannot meddle
> with that bit in particular?  I think it'd be better to say
>   "You must have %s privilege to change the %s attribute."
> or something like that.

Yeah, it's probably better to say "to alter roles with %s" to refer to
roles that presently have the attribute and "to change the %s attribute"
when referring to privileges for the attribute.  I did this in v2, too.

I've also switched from errhint() to errdetail() as suggested by Tom.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: suppressing useless wakeups in logical/worker.c
Next
From: Matthias van de Meent
Date:
Subject: Re: New strategies for freezing, advancing relfrozenxid early