citus/src/include/distributed/multi_executor.h

33 lines
968 B
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"
/* signal currently executed statement is a master select statement or router execution */
#define EXEC_FLAG_CITUS_MASTER_SELECT 0x100
#define EXEC_FLAG_CITUS_ROUTER_EXECUTOR 0x200
#if (PG_VERSION_NUM >= 90600)
#define tuplecount_t uint64
#else
#define tuplecount_t long
#endif
extern void multi_ExecutorStart(QueryDesc *queryDesc, int eflags);
extern void multi_ExecutorRun(QueryDesc *queryDesc,
ScanDirection direction, tuplecount_t count);
extern void multi_ExecutorFinish(QueryDesc *queryDesc);
extern void multi_ExecutorEnd(QueryDesc *queryDesc);
#endif /* MULTI_EXECUTOR_H */