PostgreSQL Source Code git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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 */
29CATALOG(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
67DECLARE_TOAST(pg_language, 4157, 4158);
68
69DECLARE_UNIQUE_INDEX(pg_language_name_index, 2681, LanguageNameIndexId, pg_language, btree(lanname name_ops));
70DECLARE_UNIQUE_INDEX_PKEY(pg_language_oid_index, 2682, LanguageOidIndexId, pg_language, btree(oid oid_ops));
71
72MAKE_SYSCACHE(LANGNAME, pg_language_name_index, 4);
73MAKE_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