PostgreSQL Source Code  git master
pg_language.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * pg_language.h
4  * definition of the "language" system catalog (pg_language)
5  *
6  *
7  * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/catalog/pg_language.h
11  *
12  * NOTES
13  * The Catalog.pm module reads this file and derives schema
14  * information.
15  *
16  *-------------------------------------------------------------------------
17  */
18 #ifndef PG_LANGUAGE_H
19 #define PG_LANGUAGE_H
20 
21 #include "catalog/genbki.h"
22 #include "catalog/pg_language_d.h"
23 
24 /* ----------------
25  * pg_language definition. cpp turns this into
26  * typedef struct FormData_pg_language
27  * ----------------
28  */
29 CATALOG(pg_language,2612,LanguageRelationId)
30 {
31  Oid oid; /* oid */
32 
33  /* Language name */
34  NameData lanname;
35 
36  /* Language's owner */
37  Oid lanowner BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid);
38 
39  /* Is a procedural language */
40  bool lanispl BKI_DEFAULT(f);
41 
42  /* PL is trusted */
43  bool lanpltrusted BKI_DEFAULT(f);
44 
45  /* Call handler, if it's a PL */
46  Oid lanplcallfoid BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc);
47 
48  /* Optional anonymous-block handler function */
49  Oid laninline BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc);
50 
51  /* Optional validation function */
52  Oid lanvalidator BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc);
53 
54 #ifdef CATALOG_VARLEN /* variable-length fields start here */
55  /* Access privileges */
56  aclitem lanacl[1] BKI_DEFAULT(_null_);
57 #endif
59 
60 /* ----------------
61  * Form_pg_language corresponds to a pointer to a tuple with
62  * the format of pg_language relation.
63  * ----------------
64  */
66 
67 DECLARE_TOAST(pg_language, 4157, 4158);
68 
69 DECLARE_UNIQUE_INDEX(pg_language_name_index, 2681, LanguageNameIndexId, pg_language, btree(lanname name_ops));
70 DECLARE_UNIQUE_INDEX_PKEY(pg_language_oid_index, 2682, LanguageOidIndexId, pg_language, btree(oid oid_ops));
71 
72 MAKE_SYSCACHE(LANGNAME, pg_language_name_index, 4);
73 MAKE_SYSCACHE(LANGOID, pg_language_oid_index, 4);
74 
75 #endif /* PG_LANGUAGE_H */
#define BKI_LOOKUP(catalog)
Definition: genbki.h:46
#define BKI_DEFAULT(value)
Definition: genbki.h:35
#define BKI_LOOKUP_OPT(catalog)
Definition: genbki.h:47
MAKE_SYSCACHE(LANGNAME, pg_language_name_index, 4)
DECLARE_TOAST(pg_language, 4157, 4158)
FormData_pg_language
Definition: pg_language.h:58
DECLARE_UNIQUE_INDEX_PKEY(pg_language_oid_index, 2682, LanguageOidIndexId, pg_language, btree(oid oid_ops))
FormData_pg_language * Form_pg_language
Definition: pg_language.h:65
CATALOG(pg_language, 2612, LanguageRelationId)
Definition: pg_language.h:29
DECLARE_UNIQUE_INDEX(pg_language_name_index, 2681, LanguageNameIndexId, pg_language, btree(lanname name_ops))
unsigned int Oid
Definition: postgres_ext.h:31
Definition: c.h:695