1 /*-------------------------------------------------------------------------
2  *
3  * pg_proc_fn.h
4  *	 prototypes for functions in catalog/pg_proc.c
5  *
6  *
7  * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/catalog/pg_proc_fn.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef PG_PROC_FN_H
15 #define PG_PROC_FN_H
16 
17 #include "catalog/objectaddress.h"
18 #include "nodes/pg_list.h"
19 
20 extern ObjectAddress ProcedureCreate(const char *procedureName,
21 				Oid procNamespace,
22 				bool replace,
23 				bool returnsSet,
24 				Oid returnType,
25 				Oid proowner,
26 				Oid languageObjectId,
27 				Oid languageValidator,
28 				const char *prosrc,
29 				const char *probin,
30 				bool isAgg,
31 				bool isWindowFunc,
32 				bool security_definer,
33 				bool isLeakProof,
34 				bool isStrict,
35 				char volatility,
36 				char parallel,
37 				oidvector *parameterTypes,
38 				Datum allParameterTypes,
39 				Datum parameterModes,
40 				Datum parameterNames,
41 				List *parameterDefaults,
42 				Datum trftypes,
43 				Datum proconfig,
44 				float4 procost,
45 				float4 prorows);
46 
47 extern bool function_parse_error_transpose(const char *prosrc);
48 
49 extern List *oid_array_to_list(Datum datum);
50 
51 #endif							/* PG_PROC_FN_H */
52