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().