pgsql: Refactor query cancellation code into src/fe_utils/

Started by Michael Paquierover 6 years ago1 messagescomitters
Jump to latest
#1Michael Paquier
michael@paquier.xyz

Refactor query cancellation code into src/fe_utils/

Originally, this code was duplicated in src/bin/psql/ and
src/bin/scripts/, but it can be useful for other frontend applications,
like pgbench. This refactoring offers the possibility to setup a custom
callback which would get called in the signal handler for SIGINT or when
the interruption console events happen on Windows.

Author: Fabien Coelho, with contributions from Michael Paquier
Reviewed-by: Álvaro Herrera, Ibrar Ahmed
Discussion: /messages/by-id/alpine.DEB.2.21.1910311939430.27369@lancre

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/a4fd3aa719e8f97299dfcf1a8f79b3017e2b8d8b

Modified Files
--------------
src/bin/psql/command.c | 1 +
src/bin/psql/common.c | 187 +++++------------------------------
src/bin/psql/common.h | 5 +-
src/bin/psql/large_obj.c | 7 +-
src/bin/psql/startup.c | 2 +-
src/bin/scripts/clusterdb.c | 2 +-
src/bin/scripts/common.c | 147 ---------------------------
src/bin/scripts/common.h | 7 +-
src/bin/scripts/reindexdb.c | 2 +-
src/bin/scripts/vacuumdb.c | 2 +-
src/fe_utils/Makefile | 1 +
src/fe_utils/cancel.c | 225 ++++++++++++++++++++++++++++++++++++++++++
src/include/fe_utils/cancel.h | 30 ++++++
src/tools/msvc/Mkvcbuild.pm | 2 +-
14 files changed, 294 insertions(+), 326 deletions(-)