libpq-be-fe-helpers.h: wrap new cancel APIs

Commit 61461a300c1c introduced new functions to libpq for cancelling
queries.  This commit introduces a helper function that backend-side
libraries and extensions can use to invoke those.  This function takes a
timeout and can itself be interrupted while it is waiting for a cancel
request to be sent and processed, instead of being blocked.

This replaces the usage of the old functions in postgres_fdw and dblink.

Finally, it also adds some test coverage for the cancel support in
postgres_fdw.

Author: Jelte Fennema-Nio <postg...@jeltef.nl>
Discussion: 
https://postgr.es/m/cageczqt_vgowwenuqvuv9xqmbacyxjtrrayo8w07oqashk_...@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2466d6654f85d7ec136d09d52ae22771452a19df

Modified Files
--------------
contrib/dblink/dblink.c                        | 21 ++----
contrib/postgres_fdw/connection.c              | 47 +++++++-------
contrib/postgres_fdw/expected/postgres_fdw.out | 15 +++++
contrib/postgres_fdw/sql/postgres_fdw.sql      |  7 ++
src/include/libpq/libpq-be-fe-helpers.h        | 89 ++++++++++++++++++++++++++
5 files changed, 140 insertions(+), 39 deletions(-)

Reply via email to