]> granicus.if.org Git - postgresql/blob - src/include/catalog/pg_language.h
9099a9431bce3e6e9a342909447f8b2caddfc505
[postgresql] / src / include / catalog / pg_language.h
1 /*-------------------------------------------------------------------------
2  *
3  * pg_language.h
4  *        definition of the system "language" relation (pg_language)
5  *        along with the relation's initial contents.
6  *
7  *
8  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
9  * Portions Copyright (c) 1994, Regents of the University of California
10  *
11  * $Id: pg_language.h,v 1.15 2001/11/05 17:46:32 momjian Exp $
12  *
13  * NOTES
14  *        the genbki.sh script reads this file and generates .bki
15  *        information from the DATA() statements.
16  *
17  *-------------------------------------------------------------------------
18  */
19 #ifndef PG_LANGUAGE_H
20 #define PG_LANGUAGE_H
21
22 /* ----------------
23  *              postgres.h contains the system type definintions and the
24  *              CATALOG(), BOOTSTRAP and DATA() sugar words so this file
25  *              can be read by both genbki.sh and the C compiler.
26  * ----------------
27  */
28
29 /* ----------------
30  *              pg_language definition.  cpp turns this into
31  *              typedef struct FormData_pg_language
32  * ----------------
33  */
34 CATALOG(pg_language)
35 {
36         NameData        lanname;
37         bool            lanispl;                /* Is a procedural language */
38         bool            lanpltrusted;   /* PL is trusted */
39         Oid                     lanplcallfoid;  /* Call handler for PL */
40         text            lancompiler;    /* VARIABLE LENGTH FIELD */
41 } FormData_pg_language;
42
43 /* ----------------
44  *              Form_pg_language corresponds to a pointer to a tuple with
45  *              the format of pg_language relation.
46  * ----------------
47  */
48 typedef FormData_pg_language *Form_pg_language;
49
50 /* ----------------
51  *              compiler constants for pg_language
52  * ----------------
53  */
54 #define Natts_pg_language                               5
55 #define Anum_pg_language_lanname                1
56 #define Anum_pg_language_lanispl                2
57 #define Anum_pg_language_lanpltrusted           3
58 #define Anum_pg_language_lanplcallfoid          4
59 #define Anum_pg_language_lancompiler            5
60
61 /* ----------------
62  *              initial contents of pg_language
63  * ----------------
64  */
65
66 DATA(insert OID = 12 ( internal f f 0 "n/a" ));
67 DESCR("Built-in functions");
68 #define INTERNALlanguageId 12
69 DATA(insert OID = 13 ( "C" f f 0 "/bin/cc" ));
70 DESCR("Dynamically-loaded C functions");
71 #define ClanguageId 13
72 DATA(insert OID = 14 ( "sql" f f 0 "postgres"));
73 DESCR("SQL-language functions");
74 #define SQLlanguageId 14
75
76 #endif   /* PG_LANGUAGE_H */