Re: patch: improve "user mapping not found" error message

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Ian Lawrence Barwick <barwick@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-11-23T08:41:14Z
Lists: pgsql-hackers
On 20.11.23 02:25, Ian Lawrence Barwick wrote:
> 2023年7月3日(月) 18:22 Peter Eisentraut <peter@eisentraut.org>:
>>
>> On 23.06.23 09:45, Ian Lawrence Barwick wrote:
>>>        if (!HeapTupleIsValid(tp))
>>> +     {
>>> +             ForeignServer *server = GetForeignServer(serverid);
>>> +
>>>                ereport(ERROR,
>>>                                (errcode(ERRCODE_UNDEFINED_OBJECT),
>>> -                              errmsg("user mapping not found for \"%s\"",
>>> -                                             MappingUserName(userid))));
>>> +                              errmsg("user mapping not found for user \"%s\", server \"%s\"",
>>> +                                             MappingUserName(userid),
>>> +                                             server->servername)));
>>> +     }
>>
>> What if the foreign server does not exist either?  Then this would show
>> a "cache lookup failed" error message, which I think we should avoid.
>>
>> There is existing logic for handling this in
>> get_object_address_usermapping().
> 
> Apologies, missed this response somewhere. Does the attached fix that?

Hmm, now that I look at this again, under what circumstances would the 
server not be found?  Maybe the first patch was right and it should give 
a "scary" error in that case, instead of just omitting it.

In any case, this patch appears to be missing an update in the 
postgres_fdw test output.




Commits

  1. Improve "user mapping not found" error message