diff options
| author | Robert Haas | 2015-09-29 01:55:57 +0000 |
|---|---|---|
| committer | Robert Haas | 2015-09-29 01:55:57 +0000 |
| commit | d1b7c1ffe72e86932b5395f29e006c3f503bc53d (patch) | |
| tree | 9758eda06ae19401beef3c74373ecb076e9f9238 /src/include/executor/instrument.h | |
| parent | 0557dc276f1022965f72dc8bcfc820dfd83a7dc2 (diff) | |
Parallel executor support.
This code provides infrastructure for a parallel leader to start up
parallel workers to execute subtrees of the plan tree being executed
in the master. User-supplied parameters from ParamListInfo are passed
down, but PARAM_EXEC parameters are not. Various other constructs,
such as initplans, subplans, and CTEs, are also not currently shared.
Nevertheless, there's enough here to support a basic implementation of
parallel query, and we can lift some of the current restrictions as
needed.
Amit Kapila and Robert Haas
Diffstat (limited to 'src/include/executor/instrument.h')
| -rw-r--r-- | src/include/executor/instrument.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/include/executor/instrument.h b/src/include/executor/instrument.h index c9a2129c7ae..f28e56ce48c 100644 --- a/src/include/executor/instrument.h +++ b/src/include/executor/instrument.h @@ -66,8 +66,13 @@ typedef struct Instrumentation extern PGDLLIMPORT BufferUsage pgBufferUsage; extern Instrumentation *InstrAlloc(int n, int instrument_options); +extern void InstrInit(Instrumentation *instr, int instrument_options); extern void InstrStartNode(Instrumentation *instr); extern void InstrStopNode(Instrumentation *instr, double nTuples); extern void InstrEndLoop(Instrumentation *instr); +extern void InstrAggNode(Instrumentation *dst, Instrumentation *add); +extern void InstrStartParallelQuery(void); +extern void InstrEndParallelQuery(BufferUsage *result); +extern void InstrAccumParallelQuery(BufferUsage *result); #endif /* INSTRUMENT_H */ |
