1 /*-------------------------------------------------------------------------
2  *
3  * nodeSubplan.h
4  *
5  *
6  *
7  * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/executor/nodeSubplan.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef NODESUBPLAN_H
15 #define NODESUBPLAN_H
16 
17 #include "nodes/execnodes.h"
18 
19 extern SubPlanState *ExecInitSubPlan(SubPlan *subplan, PlanState *parent);
20 
21 extern AlternativeSubPlanState *ExecInitAlternativeSubPlan(AlternativeSubPlan *asplan, PlanState *parent);
22 
23 extern Datum ExecSubPlan(SubPlanState *node, ExprContext *econtext, bool *isNull);
24 
25 extern Datum ExecAlternativeSubPlan(AlternativeSubPlanState *node, ExprContext *econtext, bool *isNull);
26 
27 extern void ExecReScanSetParamPlan(SubPlanState *node, PlanState *parent);
28 
29 extern void ExecSetParamPlan(SubPlanState *node, ExprContext *econtext);
30 
31 extern void ExecSetParamPlanMulti(const Bitmapset *params, ExprContext *econtext);
32 
33 #endif							/* NODESUBPLAN_H */
34