mirror of
https://github.com/postgres/postgres.git
synced 2026-03-30 06:16:39 -04:00
The point of this is not really to remove redundancy in pg_language.dat; with only three entries, it's hardly worth it. Rather, it is to get to a point where there are exactly zero hard-coded numeric pg_proc OID references in the catalog .dat files. The lanvalidator column was the only remaining location of such references, and it seems like a good thing for future-proofing reasons to make it not be a special case. There are still a few places in the .dat files with numeric OID references to other catalogs, but after review I don't see any that seem worth changing at present. In each case there are just too few entries to make it worth the trouble to create lookup infrastructure. This doesn't change the emitted postgres.bki file, so no catversion bump.
65 lines
1.7 KiB
C
65 lines
1.7 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* pg_language.h
|
|
* definition of the "language" system catalog (pg_language)
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/catalog/pg_language.h
|
|
*
|
|
* NOTES
|
|
* The Catalog.pm module reads this file and derives schema
|
|
* information.
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef PG_LANGUAGE_H
|
|
#define PG_LANGUAGE_H
|
|
|
|
#include "catalog/genbki.h"
|
|
#include "catalog/pg_language_d.h"
|
|
|
|
/* ----------------
|
|
* pg_language definition. cpp turns this into
|
|
* typedef struct FormData_pg_language
|
|
* ----------------
|
|
*/
|
|
CATALOG(pg_language,2612,LanguageRelationId)
|
|
{
|
|
/* Language name */
|
|
NameData lanname;
|
|
|
|
/* Language's owner */
|
|
Oid lanowner BKI_DEFAULT(PGUID);
|
|
|
|
/* Is a procedural language */
|
|
bool lanispl BKI_DEFAULT(f);
|
|
|
|
/* PL is trusted */
|
|
bool lanpltrusted BKI_DEFAULT(f);
|
|
|
|
/* Call handler, if it's a PL */
|
|
Oid lanplcallfoid BKI_DEFAULT(0) BKI_LOOKUP(pg_proc);
|
|
|
|
/* Optional anonymous-block handler function */
|
|
Oid laninline BKI_DEFAULT(0) BKI_LOOKUP(pg_proc);
|
|
|
|
/* Optional validation function */
|
|
Oid lanvalidator BKI_DEFAULT(0) BKI_LOOKUP(pg_proc);
|
|
|
|
#ifdef CATALOG_VARLEN /* variable-length fields start here */
|
|
/* Access privileges */
|
|
aclitem lanacl[1] BKI_DEFAULT(_null_);
|
|
#endif
|
|
} FormData_pg_language;
|
|
|
|
/* ----------------
|
|
* Form_pg_language corresponds to a pointer to a tuple with
|
|
* the format of pg_language relation.
|
|
* ----------------
|
|
*/
|
|
typedef FormData_pg_language *Form_pg_language;
|
|
|
|
#endif /* PG_LANGUAGE_H */
|