postgresql/src/include/executor
Andres Freund 538d114f6d 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
2017-12-13 15:47:01 -08:00
..
execdebug.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
execdesc.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
execExpr.h Pass InitPlan values to workers via Gather (Merge). 2017-11-16 12:06:14 -05:00
execParallel.h Update typedefs.list and re-run pgindent 2017-11-29 09:24:24 -05:00
execPartition.h Re-allow INSERT .. ON CONFLICT DO NOTHING on partitioned tables. 2017-12-01 12:53:21 -05:00
executor.h Allow executor nodes to change their ExecProcNode function. 2017-12-13 15:47:01 -08:00
functions.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
hashjoin.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
instrument.h Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00
nodeAgg.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeAppend.h Support Parallel Append plan nodes. 2017-12-05 17:28:39 -05:00
nodeBitmapAnd.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
nodeBitmapHeapscan.h Provide DSM segment to ExecXXXInitializeWorker functions. 2017-11-16 17:39:18 -08:00
nodeBitmapIndexscan.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
nodeBitmapOr.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
nodeCtescan.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeCustom.h Provide DSM segment to ExecXXXInitializeWorker functions. 2017-11-16 17:39:18 -08:00
nodeForeignscan.h Provide DSM segment to ExecXXXInitializeWorker functions. 2017-11-16 17:39:18 -08:00
nodeFunctionscan.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeGather.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeGatherMerge.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeGroup.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeHash.h Fix EXPLAIN ANALYZE of hash join when the leader doesn't participate. 2017-12-05 10:55:56 -08:00
nodeHashjoin.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeIndexonlyscan.h Provide DSM segment to ExecXXXInitializeWorker functions. 2017-11-16 17:39:18 -08:00
nodeIndexscan.h Provide DSM segment to ExecXXXInitializeWorker functions. 2017-11-16 17:39:18 -08:00
nodeLimit.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeLockRows.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeMaterial.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeMergeAppend.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeMergejoin.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeModifyTable.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeNamedtuplestorescan.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeNestloop.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeProjectSet.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeRecursiveunion.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeResult.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeSamplescan.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeSeqscan.h Provide DSM segment to ExecXXXInitializeWorker functions. 2017-11-16 17:39:18 -08:00
nodeSetOp.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeSort.h Provide DSM segment to ExecXXXInitializeWorker functions. 2017-11-16 17:39:18 -08:00
nodeSubplan.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
nodeSubqueryscan.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeTableFuncscan.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeTidscan.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeUnique.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeValuesscan.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeWindowAgg.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
nodeWorktablescan.h Move ExecProcNode from dispatch to function pointer based model. 2017-07-30 16:18:21 -07:00
spi.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
spi_priv.h Fix crash when logical decoding is invoked from a PL function. 2017-10-06 19:18:58 -04:00
tablefunc.h Add some const decorations to prototypes 2017-11-10 13:38:57 -05:00
tqueue.h Remove TupleDesc remapping logic from tqueue.c. 2017-09-14 19:59:29 -07:00
tstoreReceiver.h Phase 2 of pgindent updates. 2017-06-21 15:19:25 -04:00
tuptable.h Change TRUE/FALSE to true/false 2017-11-08 11:37:28 -05:00