mirror of
https://github.com/postgres/postgres.git
synced 2026-01-13 12:22:55 +03:00
Also "make reformat-dat-files". The only change worthy of note is that pgindent messed up the formatting of launcher.c's struct LogicalRepWorkerId, which led me to notice that that struct wasn't used at all anymore, so I just took it out.
56 lines
1.8 KiB
C
56 lines
1.8 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* functions.h
|
|
* Declarations for execution of SQL-language functions.
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/executor/functions.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef FUNCTIONS_H
|
|
#define FUNCTIONS_H
|
|
|
|
#include "nodes/execnodes.h"
|
|
#include "tcop/dest.h"
|
|
|
|
/*
|
|
* Data structure needed by the parser callback hooks to resolve parameter
|
|
* references during parsing of a SQL function's body. This is separate from
|
|
* SQLFunctionCache since we sometimes do parsing separately from execution.
|
|
*/
|
|
typedef struct SQLFunctionParseInfo
|
|
{
|
|
char *fname; /* function's name */
|
|
int nargs; /* number of input arguments */
|
|
Oid *argtypes; /* resolved types of input arguments */
|
|
char **argnames; /* names of input arguments; NULL if none */
|
|
/* Note that argnames[i] can be NULL, if some args are unnamed */
|
|
Oid collation; /* function's input collation, if known */
|
|
} SQLFunctionParseInfo;
|
|
|
|
typedef SQLFunctionParseInfo *SQLFunctionParseInfoPtr;
|
|
|
|
extern Datum fmgr_sql(PG_FUNCTION_ARGS);
|
|
|
|
extern SQLFunctionParseInfoPtr prepare_sql_fn_parse_info(HeapTuple procedureTuple,
|
|
Node *call_expr,
|
|
Oid inputCollation);
|
|
|
|
extern void sql_fn_parser_setup(struct ParseState *pstate,
|
|
SQLFunctionParseInfoPtr pinfo);
|
|
|
|
extern void check_sql_fn_statements(List *queryTreeLists);
|
|
|
|
extern bool check_sql_fn_retval(List *queryTreeLists,
|
|
Oid rettype, TupleDesc rettupdesc,
|
|
bool insertDroppedCols,
|
|
List **resultTargetList);
|
|
|
|
extern DestReceiver *CreateSQLFunctionDestReceiver(void);
|
|
|
|
#endif /* FUNCTIONS_H */
|