Thread: pgsql: postgres_fdw: Fix unexpected reporting of empty message.

pgsql: postgres_fdw: Fix unexpected reporting of empty message.

From
Fujii Masao
Date:
postgres_fdw: Fix unexpected reporting of empty message.

pgfdw_report_error() in postgres_fdw gets a message from PGresult or
PGconn to report an error received from a remote server. Previously
if it could get a message from neither of them, it reported empty
message unexpectedly. The cause of this issue was that pgfdw_report_error()
didn't handle properly the case where no message could be obtained
and its local variable message_primary was set to '\0'.

This commit improves pgfdw_report_error() so that it reports the message
"could not obtain ..." when it gets no message and message_primary
is set to '\0'. This is the same behavior as when message_primary is NULL.

dblink_res_error() in dblink has the same issue, so this commit also
improves it in the same way.

Back-patch to all supported branches.

Author: Fujii Masao
Reviewed-by: Bharath Rupireddy
Discussion: https://postgr.es/m/477c16c8-7ea4-20fc-38d5-ed3a77ed616c@oss.nttdata.com

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/82d1e13344985369a0f5c5d1c9e72f81d997e2ca

Modified Files
--------------
contrib/dblink/dblink.c           | 3 ++-
contrib/postgres_fdw/connection.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)