2015-09-29 03:55:57 +02:00
|
|
|
/*--------------------------------------------------------------------
|
|
|
|
* execParallel.h
|
|
|
|
* POSTGRES parallel execution interface
|
|
|
|
*
|
|
|
|
* Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group
|
|
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
|
|
*
|
|
|
|
* IDENTIFICATION
|
|
|
|
* src/include/executor/execParallel.h
|
|
|
|
*--------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef EXECPARALLEL_H
|
|
|
|
#define EXECPARALLEL_H
|
|
|
|
|
|
|
|
#include "access/parallel.h"
|
|
|
|
#include "nodes/execnodes.h"
|
|
|
|
#include "nodes/parsenodes.h"
|
|
|
|
#include "nodes/plannodes.h"
|
|
|
|
|
|
|
|
typedef struct SharedExecutorInstrumentation SharedExecutorInstrumentation;
|
|
|
|
|
|
|
|
typedef struct ParallelExecutorInfo
|
|
|
|
{
|
|
|
|
PlanState *planstate;
|
|
|
|
ParallelContext *pcxt;
|
|
|
|
BufferUsage *buffer_usage;
|
|
|
|
SharedExecutorInstrumentation *instrumentation;
|
|
|
|
shm_mq_handle **tqueue;
|
|
|
|
} ParallelExecutorInfo;
|
|
|
|
|
|
|
|
extern ParallelExecutorInfo *ExecInitParallelPlan(PlanState *planstate,
|
|
|
|
EState *estate, int nworkers);
|
|
|
|
extern void ExecParallelFinish(ParallelExecutorInfo *pei);
|
2015-10-16 17:56:02 +02:00
|
|
|
extern void ExecParallelCleanup(ParallelExecutorInfo *pei);
|
2015-10-30 10:43:00 +01:00
|
|
|
extern shm_mq_handle **ExecParallelReinitializeTupleQueues(ParallelContext *pcxt);
|
2015-09-29 03:55:57 +02:00
|
|
|
|
|
|
|
#endif /* EXECPARALLEL_H */
|