mirror of https://github.com/postgres/postgres
for procedural languages. This replaces the hard-wired table I had originally proposed as a stopgap solution. For the moment, the initial contents only include languages shipped with the core distribution.REL8_1_STABLE
parent
c18cabe8ab
commit
48123de717
@ -0,0 +1,78 @@ |
||||
/*-------------------------------------------------------------------------
|
||||
* |
||||
* pg_pltemplate.h |
||||
* definition of the system "PL template" relation (pg_pltemplate) |
||||
* along with the relation's initial contents. |
||||
* |
||||
* |
||||
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group |
||||
* Portions Copyright (c) 1994, Regents of the University of California |
||||
* |
||||
* $PostgreSQL: pgsql/src/include/catalog/pg_pltemplate.h,v 1.1 2005/09/08 20:07:42 tgl Exp $ |
||||
* |
||||
* NOTES |
||||
* the genbki.sh script reads this file and generates .bki |
||||
* information from the DATA() statements. |
||||
* |
||||
*------------------------------------------------------------------------- |
||||
*/ |
||||
#ifndef PG_PLTEMPLATE_H |
||||
#define PG_PLTEMPLATE_H |
||||
|
||||
/* ----------------
|
||||
* postgres.h contains the system type definitions and the |
||||
* CATALOG(), BKI_BOOTSTRAP and DATA() sugar words so this file |
||||
* can be read by both genbki.sh and the C compiler. |
||||
* ---------------- |
||||
*/ |
||||
|
||||
/* ----------------
|
||||
* pg_pltemplate definition. cpp turns this into |
||||
* typedef struct FormData_pg_pltemplate |
||||
* ---------------- |
||||
*/ |
||||
#define PLTemplateRelationId 1136 |
||||
|
||||
CATALOG(pg_pltemplate,1136) BKI_SHARED_RELATION BKI_WITHOUT_OIDS |
||||
{ |
||||
NameData tmplname; /* name of PL */ |
||||
bool tmpltrusted; /* PL is trusted? */ |
||||
text tmplhandler; /* name of call handler function */ |
||||
text tmplvalidator; /* name of validator function, or NULL */ |
||||
text tmpllibrary; /* path of shared library */ |
||||
aclitem tmplacl[1]; /* access privileges for template */ |
||||
} FormData_pg_pltemplate; |
||||
|
||||
/* ----------------
|
||||
* Form_pg_pltemplate corresponds to a pointer to a row with |
||||
* the format of pg_pltemplate relation. |
||||
* ---------------- |
||||
*/ |
||||
typedef FormData_pg_pltemplate *Form_pg_pltemplate; |
||||
|
||||
/* ----------------
|
||||
* compiler constants for pg_pltemplate |
||||
* ---------------- |
||||
*/ |
||||
#define Natts_pg_pltemplate 6 |
||||
#define Anum_pg_pltemplate_tmplname 1 |
||||
#define Anum_pg_pltemplate_tmpltrusted 2 |
||||
#define Anum_pg_pltemplate_tmplhandler 3 |
||||
#define Anum_pg_pltemplate_tmplvalidator 4 |
||||
#define Anum_pg_pltemplate_tmpllibrary 5 |
||||
#define Anum_pg_pltemplate_tmplacl 6 |
||||
|
||||
|
||||
/* ----------------
|
||||
* initial contents of pg_pltemplate |
||||
* ---------------- |
||||
*/ |
||||
|
||||
DATA(insert ( "plpgsql" t "plpgsql_call_handler" "plpgsql_validator" "$libdir/plpgsql" _null_ )); |
||||
DATA(insert ( "pltcl" t "pltcl_call_handler" _null_ "$libdir/pltcl" _null_ )); |
||||
DATA(insert ( "pltclu" f "pltclu_call_handler" _null_ "$libdir/pltcl" _null_ )); |
||||
DATA(insert ( "plperl" t "plperl_call_handler" "plperl_validator" "$libdir/plperl" _null_ )); |
||||
DATA(insert ( "plperlu" f "plperl_call_handler" "plperl_validator" "$libdir/plperl" _null_ )); |
||||
DATA(insert ( "plpythonu" f "plpython_call_handler" _null_ "$libdir/plpython" _null_ )); |
||||
|
||||
#endif /* PG_PLTEMPLATE_H */ |
||||
Loading…
Reference in new issue