1/*-------------------------------------------------------------------------
2 *
3 * pg_language.h
4 * definition of the "language" system catalog (pg_language)
5 *
6 *
7 * Portions Copyright (c) 1996-2019, 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(PGUID);
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(pg_proc);
47
48 /* Optional anonymous-block handler function */
49 Oid laninline BKI_DEFAULT(0) BKI_LOOKUP(pg_proc);
50
51 /* Optional validation function */
52 Oid lanvalidator BKI_DEFAULT(0) BKI_LOOKUP(pg_proc);
53
54#ifdef CATALOG_VARLEN /* variable-length fields start here */
55 /* Access privileges */
56 aclitem lanacl[1] BKI_DEFAULT(_null_);
57#endif
58} FormData_pg_language;
59
60/* ----------------
61 * Form_pg_language corresponds to a pointer to a tuple with
62 * the format of pg_language relation.
63 * ----------------
64 */
65typedef FormData_pg_language *Form_pg_language;
66
67#endif /* PG_LANGUAGE_H */
68