1 | /*------------------------------------------------------------------------- |
2 | * |
3 | * functions.h |
4 | * Declarations for execution of SQL-language functions. |
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/functions.h |
11 | * |
12 | *------------------------------------------------------------------------- |
13 | */ |
14 | #ifndef FUNCTIONS_H |
15 | #define FUNCTIONS_H |
16 | |
17 | #include "nodes/execnodes.h" |
18 | #include "tcop/dest.h" |
19 | |
20 | /* This struct is known only within executor/functions.c */ |
21 | typedef struct SQLFunctionParseInfo *SQLFunctionParseInfoPtr; |
22 | |
23 | extern Datum fmgr_sql(PG_FUNCTION_ARGS); |
24 | |
25 | extern SQLFunctionParseInfoPtr prepare_sql_fn_parse_info(HeapTuple procedureTuple, |
26 | Node *call_expr, |
27 | Oid inputCollation); |
28 | |
29 | extern void sql_fn_parser_setup(struct ParseState *pstate, |
30 | SQLFunctionParseInfoPtr pinfo); |
31 | |
32 | extern void check_sql_fn_statements(List *queryTreeList); |
33 | |
34 | extern bool check_sql_fn_retval(Oid func_id, Oid rettype, |
35 | List *queryTreeList, |
36 | bool *modifyTargetList, |
37 | JunkFilter **junkFilter); |
38 | |
39 | extern DestReceiver *CreateSQLFunctionDestReceiver(void); |
40 | |
41 | #endif /* FUNCTIONS_H */ |
42 | |