mirror of
https://github.com/postgres/postgres.git
synced 2025-10-25 13:17:41 +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:
@@ -40,8 +40,8 @@
|
||||
|
||||
#include "executor/execdebug.h"
|
||||
#include "executor/nodeMergeAppend.h"
|
||||
|
||||
#include "lib/binaryheap.h"
|
||||
#include "miscadmin.h"
|
||||
|
||||
/*
|
||||
* We have one slot for each item in the heap array. We use SlotNumber
|
||||
@@ -175,6 +175,8 @@ ExecMergeAppend(MergeAppendState *node)
|
||||
TupleTableSlot *result;
|
||||
SlotNumber i;
|
||||
|
||||
CHECK_FOR_INTERRUPTS();
|
||||
|
||||
if (!node->ms_initialized)
|
||||
{
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user