Move interrupt checking from ExecProcNode() to executor nodes.

Andres Freund <andres@anarazel.de>

Commit: d47cfef7116fb36349949f5c757aa2112c249804
Author: Andres Freund <andres@anarazel.de>
Date: 2017-07-30T23:06:42Z
Releases: 10.0
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.1490390175@sss.pgh.pa.us

Files

PathChange+/−
src/backend/executor/execProcnode.c modified +0 −2
src/backend/executor/nodeAgg.c modified +8 −0
src/backend/executor/nodeAppend.c modified +3 −0
src/backend/executor/nodeBitmapHeapscan.c modified +3 −0
src/backend/executor/nodeCustom.c modified +3 −0
src/backend/executor/nodeGather.c modified +4 −0
src/backend/executor/nodeGatherMerge.c modified +4 −0
src/backend/executor/nodeGroup.c modified +3 −0
src/backend/executor/nodeHash.c modified +6 −0
src/backend/executor/nodeHashjoin.c modified +8 −7
src/backend/executor/nodeIndexonlyscan.c modified +3 −0
src/backend/executor/nodeIndexscan.c modified +7 −0
src/backend/executor/nodeLimit.c modified +3 −0
src/backend/executor/nodeLockRows.c modified +3 −0
src/backend/executor/nodeMaterial.c modified +2 −0
src/backend/executor/nodeMergeAppend.c modified +3 −1
src/backend/executor/nodeMergejoin.c modified +3 −0
src/backend/executor/nodeModifyTable.c modified +2 −0
src/backend/executor/nodeNestloop.c modified +3 −0
src/backend/executor/nodeProjectSet.c modified +3 −0
src/backend/executor/nodeRecursiveunion.c modified +2 −0
src/backend/executor/nodeResult.c modified +3 −0
src/backend/executor/nodeSetOp.c modified +5 −0
src/backend/executor/nodeSort.c modified +2 −0
src/backend/executor/nodeSubplan.c modified +5 −0
src/backend/executor/nodeTableFuncscan.c modified +2 −0
src/backend/executor/nodeTidscan.c modified +3 −0
src/backend/executor/nodeUnique.c modified +3 −0
src/backend/executor/nodeWindowAgg.c modified +5 −0