1 /*-------------------------------------------------------------------------
2  *
3  * pg_extension.h
4  *	  definition of the "extension" system catalog (pg_extension)
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_extension.h
11  *
12  * NOTES
13  *	  The Catalog.pm module reads this file and derives schema
14  *	  information.
15  *
16  *-------------------------------------------------------------------------
17  */
18 #ifndef PG_EXTENSION_H
19 #define PG_EXTENSION_H
20 
21 #include "catalog/genbki.h"
22 #include "catalog/pg_extension_d.h"
23 
24 /* ----------------
25  *		pg_extension definition.  cpp turns this into
26  *		typedef struct FormData_pg_extension
27  * ----------------
28  */
29 CATALOG(pg_extension,3079,ExtensionRelationId)
30 {
31 	Oid			oid;			/* oid */
32 	NameData	extname;		/* extension name */
33 	Oid			extowner;		/* extension owner */
34 	Oid			extnamespace;	/* namespace of contained objects */
35 	bool		extrelocatable; /* if true, allow ALTER EXTENSION SET SCHEMA */
36 
37 #ifdef CATALOG_VARLEN			/* variable-length fields start here */
38 	/* extversion may never be null, but the others can be. */
39 	text		extversion BKI_FORCE_NOT_NULL;	/* extension version name */
40 	Oid			extconfig[1];	/* dumpable configuration tables */
41 	text		extcondition[1];	/* WHERE clauses for config tables */
42 #endif
43 } FormData_pg_extension;
44 
45 /* ----------------
46  *		Form_pg_extension corresponds to a pointer to a tuple with
47  *		the format of pg_extension relation.
48  * ----------------
49  */
50 typedef FormData_pg_extension *Form_pg_extension;
51 
52 #endif							/* PG_EXTENSION_H */
53