1/*-------------------------------------------------------------------------
2 *
3 * pquery.h
4 * prototypes for pquery.c.
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/tcop/pquery.h
11 *
12 *-------------------------------------------------------------------------
13 */
14#ifndef PQUERY_H
15#define PQUERY_H
16
17#include "nodes/parsenodes.h"
18#include "utils/portal.h"
19
20
21extern PGDLLIMPORT Portal ActivePortal;
22
23
24extern PortalStrategy ChoosePortalStrategy(List *stmts);
25
26extern List *FetchPortalTargetList(Portal portal);
27
28extern List *FetchStatementTargetList(Node *stmt);
29
30extern void PortalStart(Portal portal, ParamListInfo params,
31 int eflags, Snapshot snapshot);
32
33extern void PortalSetResultFormat(Portal portal, int nFormats,
34 int16 *formats);
35
36extern bool PortalRun(Portal portal, long count, bool isTopLevel,
37 bool run_once, DestReceiver *dest, DestReceiver *altdest,
38 char *completionTag);
39
40extern uint64 PortalRunFetch(Portal portal,
41 FetchDirection fdirection,
42 long count,
43 DestReceiver *dest);
44
45#endif /* PQUERY_H */
46