Move interrupt checking from ExecProcNode() to executor nodes. In a followup commit ExecProcNode(), and especially the large switch it contains, will largely be replaced by a function pointer directly to the correct node. The node functions will then get invoked by a thin inline function wrapper. To avoid having to include miscadmin.h in headers - CHECK_FOR_INTERRUPTS() - move the interrupt checks into the individual executor routines.
While looking through all executor nodes, I noticed a number of arguably missing interrupt checks, add these too. Author: Andres Freund, Tom Lane Reviewed-By: Tom Lane Discussion: https://postgr.es/m/22833.1490390...@sss.pgh.pa.us Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/d47cfef7116fb36349949f5c757aa2112c249804 Modified Files -------------- src/backend/executor/execProcnode.c | 2 -- src/backend/executor/nodeAgg.c | 8 ++++++++ src/backend/executor/nodeAppend.c | 3 +++ src/backend/executor/nodeBitmapHeapscan.c | 3 +++ src/backend/executor/nodeCustom.c | 3 +++ src/backend/executor/nodeGather.c | 4 ++++ src/backend/executor/nodeGatherMerge.c | 4 ++++ src/backend/executor/nodeGroup.c | 3 +++ src/backend/executor/nodeHash.c | 6 ++++++ src/backend/executor/nodeHashjoin.c | 15 ++++++++------- src/backend/executor/nodeIndexonlyscan.c | 3 +++ src/backend/executor/nodeIndexscan.c | 7 +++++++ src/backend/executor/nodeLimit.c | 3 +++ src/backend/executor/nodeLockRows.c | 3 +++ src/backend/executor/nodeMaterial.c | 2 ++ src/backend/executor/nodeMergeAppend.c | 4 +++- src/backend/executor/nodeMergejoin.c | 3 +++ src/backend/executor/nodeModifyTable.c | 2 ++ src/backend/executor/nodeNestloop.c | 3 +++ src/backend/executor/nodeProjectSet.c | 3 +++ src/backend/executor/nodeRecursiveunion.c | 2 ++ src/backend/executor/nodeResult.c | 3 +++ src/backend/executor/nodeSetOp.c | 5 +++++ src/backend/executor/nodeSort.c | 2 ++ src/backend/executor/nodeSubplan.c | 5 +++++ src/backend/executor/nodeTableFuncscan.c | 2 ++ src/backend/executor/nodeTidscan.c | 3 +++ src/backend/executor/nodeUnique.c | 3 +++ src/backend/executor/nodeWindowAgg.c | 5 +++++ 29 files changed, 104 insertions(+), 10 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers