summaryrefslogtreecommitdiff
path: root/src/include/executor/instrument.h
diff options
context:
space:
mode:
authorRobert Haas2015-09-29 01:55:57 +0000
committerRobert Haas2015-09-29 01:55:57 +0000
commitd1b7c1ffe72e86932b5395f29e006c3f503bc53d (patch)
tree9758eda06ae19401beef3c74373ecb076e9f9238 /src/include/executor/instrument.h
parent0557dc276f1022965f72dc8bcfc820dfd83a7dc2 (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.h5
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 */