Header And Logo

PostgreSQL
| The world's most advanced open source database.

pg_pltemplate.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * pg_pltemplate.h
00004  *    definition of the system "PL template" relation (pg_pltemplate)
00005  *    along with the relation's initial contents.
00006  *
00007  *
00008  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00009  * Portions Copyright (c) 1994, Regents of the University of California
00010  *
00011  * src/include/catalog/pg_pltemplate.h
00012  *
00013  * NOTES
00014  *    the genbki.pl script reads this file and generates .bki
00015  *    information from the DATA() statements.
00016  *
00017  *-------------------------------------------------------------------------
00018  */
00019 #ifndef PG_PLTEMPLATE_H
00020 #define PG_PLTEMPLATE_H
00021 
00022 #include "catalog/genbki.h"
00023 
00024 /* ----------------
00025  *      pg_pltemplate definition.  cpp turns this into
00026  *      typedef struct FormData_pg_pltemplate
00027  * ----------------
00028  */
00029 #define PLTemplateRelationId    1136
00030 
00031 CATALOG(pg_pltemplate,1136) BKI_SHARED_RELATION BKI_WITHOUT_OIDS
00032 {
00033     NameData    tmplname;       /* name of PL */
00034     bool        tmpltrusted;    /* PL is trusted? */
00035     bool        tmpldbacreate;  /* PL is installable by db owner? */
00036 
00037 #ifdef CATALOG_VARLEN           /* variable-length fields start here */
00038     text        tmplhandler;    /* name of call handler function */
00039     text        tmplinline;     /* name of anonymous-block handler, or NULL */
00040     text        tmplvalidator;  /* name of validator function, or NULL */
00041     text        tmpllibrary;    /* path of shared library */
00042     aclitem     tmplacl[1];     /* access privileges for template */
00043 #endif
00044 } FormData_pg_pltemplate;
00045 
00046 /* ----------------
00047  *      Form_pg_pltemplate corresponds to a pointer to a row with
00048  *      the format of pg_pltemplate relation.
00049  * ----------------
00050  */
00051 typedef FormData_pg_pltemplate *Form_pg_pltemplate;
00052 
00053 /* ----------------
00054  *      compiler constants for pg_pltemplate
00055  * ----------------
00056  */
00057 #define Natts_pg_pltemplate                 8
00058 #define Anum_pg_pltemplate_tmplname         1
00059 #define Anum_pg_pltemplate_tmpltrusted      2
00060 #define Anum_pg_pltemplate_tmpldbacreate    3
00061 #define Anum_pg_pltemplate_tmplhandler      4
00062 #define Anum_pg_pltemplate_tmplinline       5
00063 #define Anum_pg_pltemplate_tmplvalidator    6
00064 #define Anum_pg_pltemplate_tmpllibrary      7
00065 #define Anum_pg_pltemplate_tmplacl          8
00066 
00067 
00068 /* ----------------
00069  *      initial contents of pg_pltemplate
00070  * ----------------
00071  */
00072 
00073 DATA(insert ( "plpgsql"     t t "plpgsql_call_handler" "plpgsql_inline_handler" "plpgsql_validator" "$libdir/plpgsql" _null_ ));
00074 DATA(insert ( "pltcl"       t t "pltcl_call_handler" _null_ _null_ "$libdir/pltcl" _null_ ));
00075 DATA(insert ( "pltclu"      f f "pltclu_call_handler" _null_ _null_ "$libdir/pltcl" _null_ ));
00076 DATA(insert ( "plperl"      t t "plperl_call_handler" "plperl_inline_handler" "plperl_validator" "$libdir/plperl" _null_ ));
00077 DATA(insert ( "plperlu"     f f "plperlu_call_handler" "plperlu_inline_handler" "plperlu_validator" "$libdir/plperl" _null_ ));
00078 DATA(insert ( "plpythonu"   f f "plpython_call_handler" "plpython_inline_handler" "plpython_validator" "$libdir/plpython2" _null_ ));
00079 DATA(insert ( "plpython2u"  f f "plpython2_call_handler" "plpython2_inline_handler" "plpython2_validator" "$libdir/plpython2" _null_ ));
00080 DATA(insert ( "plpython3u"  f f "plpython3_call_handler" "plpython3_inline_handler" "plpython3_validator" "$libdir/plpython3" _null_ ));
00081 
00082 #endif   /* PG_PLTEMPLATE_H */