On 23.11.23 09:41, Peter Eisentraut wrote:
On 20.11.23 02:25, Ian Lawrence Barwick wrote:
2023年7月3日(月) 18:22 Peter Eisentraut <pe...@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.

I have committed the first version of the patch together with the required test changes.



Reply via email to