citus/src/include/distributed/multi_executor.h

45 lines
1.4 KiB
C

/*-------------------------------------------------------------------------
*
* multi_executor.h
* Executor support for Citus.
*
* Copyright (c) 2012-2016, Citus Data, Inc.
*-------------------------------------------------------------------------
*/
#ifndef MULTI_EXECUTOR_H
#define MULTI_EXECUTOR_H
#include "executor/execdesc.h"
#include "nodes/parsenodes.h"
#include "nodes/execnodes.h"
#include "distributed/citus_custom_scan.h"
#include "distributed/multi_physical_planner.h"
#include "distributed/multi_server_executor.h"
/* managed via guc.c */
typedef enum
{
PARALLEL_CONNECTION = 0,
SEQUENTIAL_CONNECTION = 1
} MultiShardConnectionTypes;
extern int MultiShardConnectionType;
extern TupleTableSlot * ReturnTupleFromTuplestore(CitusScanState *scanState);
extern void LoadTuplesIntoTupleStore(CitusScanState *citusScanState, Job *workerJob);
extern void ReadFileIntoTupleStore(char *fileName, char *copyFormat, TupleDesc
tupleDescriptor, Tuplestorestate *tupstore);
extern void ExecuteQueryStringIntoDestReceiver(const char *queryString, ParamListInfo
params,
DestReceiver *dest);
extern void ExecuteQueryIntoDestReceiver(Query *query, ParamListInfo params,
DestReceiver *dest);
extern void ExecutePlanIntoDestReceiver(PlannedStmt *queryPlan, ParamListInfo params,
DestReceiver *dest);
#endif /* MULTI_EXECUTOR_H */