1/*-------------------------------------------------------------------------
2 *
3 * nodeSubplan.h
4 *
5 *
6 *
7 * Portions Copyright (c) 1996-2019, 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
19extern SubPlanState *ExecInitSubPlan(SubPlan *subplan, PlanState *parent);
20
21extern AlternativeSubPlanState *ExecInitAlternativeSubPlan(AlternativeSubPlan *asplan, PlanState *parent);
22
23extern Datum ExecSubPlan(SubPlanState *node, ExprContext *econtext, bool *isNull);
24
25extern Datum ExecAlternativeSubPlan(AlternativeSubPlanState *node, ExprContext *econtext, bool *isNull);
26
27extern void ExecReScanSetParamPlan(SubPlanState *node, PlanState *parent);
28
29extern void ExecSetParamPlan(SubPlanState *node, ExprContext *econtext);
30
31extern void ExecSetParamPlanMulti(const Bitmapset *params, ExprContext *econtext);
32
33#endif /* NODESUBPLAN_H */
34