PostgreSQL Source Code  git master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
pg_pltemplate.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * pg_pltemplate.h
4  * definition of the system "PL template" relation (pg_pltemplate)
5  * along with the relation's initial contents.
6  *
7  *
8  * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
9  * Portions Copyright (c) 1994, Regents of the University of California
10  *
11  * src/include/catalog/pg_pltemplate.h
12  *
13  * NOTES
14  * the genbki.pl script reads this file and generates .bki
15  * information from the DATA() statements.
16  *
17  *-------------------------------------------------------------------------
18  */
19 #ifndef PG_PLTEMPLATE_H
20 #define PG_PLTEMPLATE_H
21 
22 #include "catalog/genbki.h"
23 
24 /* ----------------
25  * pg_pltemplate definition. cpp turns this into
26  * typedef struct FormData_pg_pltemplate
27  * ----------------
28  */
29 #define PLTemplateRelationId 1136
30 
32 {
33  NameData tmplname; /* name of PL */
34  bool tmpltrusted; /* PL is trusted? */
35  bool tmpldbacreate; /* PL is installable by db owner? */
36 
37 #ifdef CATALOG_VARLEN /* variable-length fields start here */
38  text tmplhandler BKI_FORCE_NOT_NULL; /* name of call handler
39  * function */
40  text tmplinline; /* name of anonymous-block handler, or NULL */
41  text tmplvalidator; /* name of validator function, or NULL */
42  text tmpllibrary BKI_FORCE_NOT_NULL; /* path of shared library */
43  aclitem tmplacl[1]; /* access privileges for template */
44 #endif
46 
47 /* ----------------
48  * Form_pg_pltemplate corresponds to a pointer to a row with
49  * the format of pg_pltemplate relation.
50  * ----------------
51  */
53 
54 /* ----------------
55  * compiler constants for pg_pltemplate
56  * ----------------
57  */
58 #define Natts_pg_pltemplate 8
59 #define Anum_pg_pltemplate_tmplname 1
60 #define Anum_pg_pltemplate_tmpltrusted 2
61 #define Anum_pg_pltemplate_tmpldbacreate 3
62 #define Anum_pg_pltemplate_tmplhandler 4
63 #define Anum_pg_pltemplate_tmplinline 5
64 #define Anum_pg_pltemplate_tmplvalidator 6
65 #define Anum_pg_pltemplate_tmpllibrary 7
66 #define Anum_pg_pltemplate_tmplacl 8
67 
68 
69 /* ----------------
70  * initial contents of pg_pltemplate
71  * ----------------
72  */
73 
74 DATA(insert ( "plpgsql" t t "plpgsql_call_handler" "plpgsql_inline_handler" "plpgsql_validator" "$libdir/plpgsql" _null_ ));
75 DATA(insert ( "pltcl" t t "pltcl_call_handler" _null_ _null_ "$libdir/pltcl" _null_ ));
76 DATA(insert ( "pltclu" f f "pltclu_call_handler" _null_ _null_ "$libdir/pltcl" _null_ ));
77 DATA(insert ( "plperl" t t "plperl_call_handler" "plperl_inline_handler" "plperl_validator" "$libdir/plperl" _null_ ));
78 DATA(insert ( "plperlu" f f "plperlu_call_handler" "plperlu_inline_handler" "plperlu_validator" "$libdir/plperl" _null_ ));
79 DATA(insert ( "plpythonu" f f "plpython_call_handler" "plpython_inline_handler" "plpython_validator" "$libdir/plpython2" _null_ ));
80 DATA(insert ( "plpython2u" f f "plpython2_call_handler" "plpython2_inline_handler" "plpython2_validator" "$libdir/plpython2" _null_ ));
81 DATA(insert ( "plpython3u" f f "plpython3_call_handler" "plpython3_inline_handler" "plpython3_validator" "$libdir/plpython3" _null_ ));
82 
83 #endif /* PG_PLTEMPLATE_H */
FormData_pg_pltemplate
Definition: pg_pltemplate.h:45
CATALOG(pg_pltemplate, 1136) BKI_SHARED_RELATION BKI_WITHOUT_OIDS
Definition: pg_pltemplate.h:31
#define BKI_SHARED_RELATION
Definition: genbki.h:27
#define BKI_WITHOUT_OIDS
Definition: genbki.h:28
DATA(insert("plpgsql"t t"plpgsql_call_handler""plpgsql_inline_handler""plpgsql_validator""$libdir/plpgsql"_null_))
#define BKI_FORCE_NOT_NULL
Definition: genbki.h:32
Definition: c.h:489
FormData_pg_pltemplate * Form_pg_pltemplate
Definition: pg_pltemplate.h:52
Definition: c.h:435