mirror of
https://github.com/postgres/postgres.git
synced 2025-07-21 16:02:15 +03:00
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
This commit is contained in:
@ -15,6 +15,7 @@
|
||||
#include "executor/nodeCustom.h"
|
||||
#include "nodes/execnodes.h"
|
||||
#include "nodes/plannodes.h"
|
||||
#include "miscadmin.h"
|
||||
#include "parser/parsetree.h"
|
||||
#include "utils/hsearch.h"
|
||||
#include "utils/memutils.h"
|
||||
@ -104,6 +105,8 @@ ExecInitCustomScan(CustomScan *cscan, EState *estate, int eflags)
|
||||
TupleTableSlot *
|
||||
ExecCustomScan(CustomScanState *node)
|
||||
{
|
||||
CHECK_FOR_INTERRUPTS();
|
||||
|
||||
Assert(node->methods->ExecCustomScan != NULL);
|
||||
return node->methods->ExecCustomScan(node);
|
||||
}
|
||||
|
Reference in New Issue
Block a user