diff options
| author | Andres Freund | 2017-12-13 23:47:01 +0000 |
|---|---|---|
| committer | Andres Freund | 2017-12-13 23:47:01 +0000 |
| commit | 538d114f6d72cbc94122ab522e002e63359cff5b (patch) | |
| tree | e9ce2c633226da730523c503a946812260f0196c /src/include/executor/executor.h | |
| parent | dbb3d6f0102e0aca7575ff864450fca57ac85517 (diff) | |
Allow executor nodes to change their ExecProcNode function.
In order for executor nodes to be able to change their ExecProcNode function
after ExecInitNode() has finished, provide ExecSetExecProcNode(). This allows
any wrappers functions that only execProcnode.c knows about to be reinstalled.
The motivation for wanting to change ExecProcNode after ExecInitNode() has
finished is that it is not known until later whether parallel query is
available, so if a parallel variant is to be installed then ExecInitNode()
is too soon to decide.
Author: Thomas Munro
Reviewed-By: Andres Freund
Discussion: https://postgr.es/m/CAEepm=09rr65VN+cAV5FgyM_z=D77Xy8Fuc9CDDDYbq3pQUezg@mail.gmail.com
Diffstat (limited to 'src/include/executor/executor.h')
| -rw-r--r-- | src/include/executor/executor.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/executor/executor.h b/src/include/executor/executor.h index b5578f5855f..dea9216fd62 100644 --- a/src/include/executor/executor.h +++ b/src/include/executor/executor.h @@ -219,6 +219,7 @@ extern void EvalPlanQualEnd(EPQState *epqstate); * functions in execProcnode.c */ extern PlanState *ExecInitNode(Plan *node, EState *estate, int eflags); +extern void ExecSetExecProcNode(PlanState *node, ExecProcNodeMtd function); extern Node *MultiExecProcNode(PlanState *node); extern void ExecEndNode(PlanState *node); extern bool ExecShutdownNode(PlanState *node); |
