PostgreSQL Source Code
git master
Loading...
Searching...
No Matches
functions.h
Go to the documentation of this file.
1
/*-------------------------------------------------------------------------
2
*
3
* functions.h
4
* Declarations for execution of SQL-language functions.
5
*
6
*
7
* Portions Copyright (c) 1996-2026, 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
/*
21
* Data structure needed by the parser callback hooks to resolve parameter
22
* references during parsing of a SQL function's body. This is separate from
23
* SQLFunctionCache since we sometimes do parsing separately from execution.
24
*/
25
typedef
struct
SQLFunctionParseInfo
26
{
27
char
*
fname
;
/* function's name */
28
int
nargs
;
/* number of input arguments */
29
Oid
*
argtypes
;
/* resolved types of input arguments */
30
char
**
argnames
;
/* names of input arguments; NULL if none */
31
/* Note that argnames[i] can be NULL, if some args are unnamed */
32
Oid
collation
;
/* function's input collation, if known */
33
}
SQLFunctionParseInfo
;
34
35
typedef
SQLFunctionParseInfo
*
SQLFunctionParseInfoPtr
;
36
37
extern
Datum
fmgr_sql
(
PG_FUNCTION_ARGS
);
38
39
extern
SQLFunctionParseInfoPtr
prepare_sql_fn_parse_info
(
HeapTuple
procedureTuple
,
40
Node
*
call_expr
,
41
Oid
inputCollation);
42
43
extern
void
sql_fn_parser_setup
(
struct
ParseState
*pstate,
44
SQLFunctionParseInfoPtr
pinfo);
45
46
extern
void
check_sql_fn_statements
(
List
*
queryTreeLists
);
47
48
extern
bool
check_sql_fn_retval
(
List
*
queryTreeLists
,
49
Oid
rettype,
TupleDesc
rettupdesc,
50
char
prokind,
51
bool
insertDroppedCols
);
52
53
extern
DestReceiver
*
CreateSQLFunctionDestReceiver
(
void
);
54
55
#endif
/* FUNCTIONS_H */
dest.h
execnodes.h
PG_FUNCTION_ARGS
#define PG_FUNCTION_ARGS
Definition
fmgr.h:193
fmgr_sql
Datum fmgr_sql(PG_FUNCTION_ARGS)
Definition
functions.c:1576
check_sql_fn_retval
bool check_sql_fn_retval(List *queryTreeLists, Oid rettype, TupleDesc rettupdesc, char prokind, bool insertDroppedCols)
Definition
functions.c:2116
check_sql_fn_statements
void check_sql_fn_statements(List *queryTreeLists)
Definition
functions.c:2035
CreateSQLFunctionDestReceiver
DestReceiver * CreateSQLFunctionDestReceiver(void)
Definition
functions.c:2617
sql_fn_parser_setup
void sql_fn_parser_setup(struct ParseState *pstate, SQLFunctionParseInfoPtr pinfo)
Definition
functions.c:340
prepare_sql_fn_parse_info
SQLFunctionParseInfoPtr prepare_sql_fn_parse_info(HeapTuple procedureTuple, Node *call_expr, Oid inputCollation)
Definition
functions.c:251
SQLFunctionParseInfoPtr
SQLFunctionParseInfo * SQLFunctionParseInfoPtr
Definition
functions.h:35
Datum
uint64_t Datum
Definition
postgres.h:70
Oid
unsigned int Oid
Definition
postgres_ext.h:32
fb
static int fb(int x)
Definition
preproc-init.c:92
HeapTupleData
Definition
htup.h:63
List
Definition
pg_list.h:54
Node
Definition
nodes.h:135
ParseState
Definition
parse_node.h:193
SQLFunctionParseInfo
Definition
functions.h:26
SQLFunctionParseInfo::collation
Oid collation
Definition
functions.h:32
SQLFunctionParseInfo::argnames
char ** argnames
Definition
functions.h:30
SQLFunctionParseInfo::argtypes
Oid * argtypes
Definition
functions.h:29
SQLFunctionParseInfo::fname
char * fname
Definition
functions.h:27
SQLFunctionParseInfo::nargs
int nargs
Definition
functions.h:28
TupleDescData
Definition
tupdesc.h:136
_DestReceiver
Definition
dest.h:116
src
include
executor
functions.h
Generated on Sun Feb 1 2026 06:13:16 for PostgreSQL Source Code by
1.9.8