Re: improving user.c error messages
| От | Peter Eisentraut |
|---|---|
| Тема | Re: improving user.c error messages |
| Дата | |
| Msg-id | 73ab0059-a652-e44a-73c6-36f350782078@enterprisedb.com обсуждение исходный текст |
| Ответ на | Re: improving user.c error messages (Nathan Bossart <nathandbossart@gmail.com>) |
| Ответы |
Re: improving user.c error messages
|
| Список | pgsql-hackers |
On 16.03.23 16:48, Nathan Bossart wrote:
>> I think the following change in DropRole() is incorrect:
>>
>> if (!is_admin_of_role(GetUserId(), roleid))
>> ereport(ERROR,
>> (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
>> - errmsg("must have admin option on role \"%s\"",
>> - role)));
>> + errmsg("permission denied to drop role"),
>> + errdetail("Only roles with the %s attribute and the %s
>> option on role \"%s\" may drop this role.",
>> + "CREATEROLE", "ADMIN",
>> NameStr(roleform->rolname))));
>>
>> The message does not reflect what check is actually performed. (Perhaps
>> this was confused with a similar but not exactly the same check in
>> RenameRole().)
> Hm. Is your point that we should only mention the admin option here? I
> mentioned both createrole and admin option in this message (and the
> createrole check above this point) in an attempt to avoid giving partial
> information.
AFAICT, the mention of CREATEROLE is incorrect, because the code doesn't
actually check for the CREATEROLE attribute.
В списке pgsql-hackers по дате отправления: