1 /*-------------------------------------------------------------------------
4 * definition of the "language" system catalog (pg_language)
7 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/catalog/pg_language.h
13 * The Catalog.pm module reads this file and derives schema
16 *-------------------------------------------------------------------------
21 #include "catalog/genbki.h"
22 #include "catalog/pg_language_d.h" /* IWYU pragma: export */
25 * pg_language definition. cpp turns this into
26 * typedef struct FormData_pg_language
29 CATALOG(pg_language
,2612,LanguageRelationId
)
36 /* Language's owner */
37 Oid lanowner
BKI_DEFAULT(POSTGRES
) BKI_LOOKUP(pg_authid
);
39 /* Is a procedural language */
40 bool lanispl
BKI_DEFAULT(f
);
43 bool lanpltrusted
BKI_DEFAULT(f
);
45 /* Call handler, if it's a PL */
46 Oid lanplcallfoid
BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc
);
48 /* Optional anonymous-block handler function */
49 Oid laninline
BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc
);
51 /* Optional validation function */
52 Oid lanvalidator
BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_proc
);
54 #ifdef CATALOG_VARLEN /* variable-length fields start here */
55 /* Access privileges */
56 aclitem lanacl
[1] BKI_DEFAULT(_null_
);
58 } FormData_pg_language
;
61 * Form_pg_language corresponds to a pointer to a tuple with
62 * the format of pg_language relation.
65 typedef FormData_pg_language
*Form_pg_language
;
67 DECLARE_TOAST(pg_language
, 4157, 4158);
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
));
72 MAKE_SYSCACHE(LANGNAME
, pg_language_name_index
, 4);
73 MAKE_SYSCACHE(LANGOID
, pg_language_oid_index
, 4);
75 #endif /* PG_LANGUAGE_H */