mirror of https://github.com/citusdata/citus.git
41 lines
1.3 KiB
C
41 lines
1.3 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* insert_select_planner.h
|
|
*
|
|
* Declarations for public functions and types related to planning
|
|
* INSERT..SELECT commands.
|
|
*
|
|
* Copyright (c) Citus Data, Inc.
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef INSERT_SELECT_PLANNER_H
|
|
#define INSERT_SELECT_PLANNER_H
|
|
|
|
|
|
#include "postgres.h"
|
|
|
|
#include "distributed/multi_physical_planner.h"
|
|
#include "distributed/distributed_planner.h"
|
|
#include "nodes/execnodes.h"
|
|
#include "nodes/parsenodes.h"
|
|
#include "nodes/plannodes.h"
|
|
|
|
|
|
extern bool InsertSelectIntoCitusTable(Query *query);
|
|
extern bool CheckInsertSelectQuery(Query *query);
|
|
extern bool InsertSelectIntoLocalTable(Query *query);
|
|
extern Query * ReorderInsertSelectTargetLists(Query *originalQuery,
|
|
RangeTblEntry *insertRte,
|
|
RangeTblEntry *subqueryRte);
|
|
extern void CoordinatorInsertSelectExplainScan(CustomScanState *node, List *ancestors,
|
|
struct ExplainState *es);
|
|
extern DistributedPlan * CreateInsertSelectPlan(uint64 planId, Query *originalQuery,
|
|
PlannerRestrictionContext *
|
|
plannerRestrictionContext);
|
|
extern char * InsertSelectResultIdPrefix(uint64 planId);
|
|
|
|
|
|
#endif /* INSERT_SELECT_PLANNER_H */
|