]> granicus.if.org Git - postgresql/blob - src/include/catalog/pg_pltemplate.h
Update copyrights for 2013
[postgresql] / src / include / catalog / pg_pltemplate.h
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-2013, 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
31 CATALOG(pg_pltemplate,1136) BKI_SHARED_RELATION BKI_WITHOUT_OIDS
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;    /* name of call handler function */
39         text            tmplinline;             /* name of anonymous-block handler, or NULL */
40         text            tmplvalidator;  /* name of validator function, or NULL */
41         text            tmpllibrary;    /* path of shared library */
42         aclitem         tmplacl[1];             /* access privileges for template */
43 #endif
44 } FormData_pg_pltemplate;
45
46 /* ----------------
47  *              Form_pg_pltemplate corresponds to a pointer to a row with
48  *              the format of pg_pltemplate relation.
49  * ----------------
50  */
51 typedef FormData_pg_pltemplate *Form_pg_pltemplate;
52
53 /* ----------------
54  *              compiler constants for pg_pltemplate
55  * ----------------
56  */
57 #define Natts_pg_pltemplate                                     8
58 #define Anum_pg_pltemplate_tmplname                     1
59 #define Anum_pg_pltemplate_tmpltrusted          2
60 #define Anum_pg_pltemplate_tmpldbacreate        3
61 #define Anum_pg_pltemplate_tmplhandler          4
62 #define Anum_pg_pltemplate_tmplinline           5
63 #define Anum_pg_pltemplate_tmplvalidator        6
64 #define Anum_pg_pltemplate_tmpllibrary          7
65 #define Anum_pg_pltemplate_tmplacl                      8
66
67
68 /* ----------------
69  *              initial contents of pg_pltemplate
70  * ----------------
71  */
72
73 DATA(insert ( "plpgsql"         t t "plpgsql_call_handler" "plpgsql_inline_handler" "plpgsql_validator" "$libdir/plpgsql" _null_ ));
74 DATA(insert ( "pltcl"           t t "pltcl_call_handler" _null_ _null_ "$libdir/pltcl" _null_ ));
75 DATA(insert ( "pltclu"          f f "pltclu_call_handler" _null_ _null_ "$libdir/pltcl" _null_ ));
76 DATA(insert ( "plperl"          t t "plperl_call_handler" "plperl_inline_handler" "plperl_validator" "$libdir/plperl" _null_ ));
77 DATA(insert ( "plperlu"         f f "plperlu_call_handler" "plperlu_inline_handler" "plperlu_validator" "$libdir/plperl" _null_ ));
78 DATA(insert ( "plpythonu"       f f "plpython_call_handler" "plpython_inline_handler" "plpython_validator" "$libdir/plpython2" _null_ ));
79 DATA(insert ( "plpython2u"      f f "plpython2_call_handler" "plpython2_inline_handler" "plpython2_validator" "$libdir/plpython2" _null_ ));
80 DATA(insert ( "plpython3u"      f f "plpython3_call_handler" "plpython3_inline_handler" "plpython3_validator" "$libdir/plpython3" _null_ ));
81
82 #endif   /* PG_PLTEMPLATE_H */