postgres_fdw: Report warning when timeout expires while getting query result.
commit815d61fcd485e8c60dba22988bf5a90fc12df32d
authorFujii Masao <fujii@postgresql.org>
Wed, 8 Dec 2021 14:31:46 +0000 (8 23:31 +0900)
committerFujii Masao <fujii@postgresql.org>
Wed, 8 Dec 2021 14:31:46 +0000 (8 23:31 +0900)
treecad5c40e5cae0a523dd4b7bee8a3939813ef03ce
parentd6f96ed94e73052f99a2e545ed17a8b2fdc1fb8a
postgres_fdw: Report warning when timeout expires while getting query result.

When aborting remote transaction or sending cancel request to a remote server,
postgres_fdw calls pgfdw_get_cleanup_result() to wait for the result of
transaction abort query or cancel request to arrive. It fails to get the result
if the timeout expires or a connection trouble happens.

Previously postgres_fdw reported no warning message even when the timeout
expired or a connection trouble happened in pgfdw_get_cleanup_result().
This could make the troubleshooting harder when such an event occurred.

This commit makes pgfdw_get_cleanup_result() tell its caller what trouble
(timeout or connection error) occurred, on failure, and also makes its caller
report the proper warning message based on that information.

Author: Fujii Masao
Reviewed-by: Bharath Rupireddy
Discussion: https://postgr.es/m/15aa988c-722e-ad3e-c936-4420c5b2bfea@oss.nttdata.com
contrib/postgres_fdw/connection.c