Header And Logo

PostgreSQL
| The world's most advanced open source database.

pg_extension.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * pg_extension.h
00004  *    definition of the system "extension" relation (pg_extension)
00005  *    along with the relation's initial contents.
00006  *
00007  *
00008  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00009  * Portions Copyright (c) 1994, Regents of the University of California
00010  *
00011  * src/include/catalog/pg_extension.h
00012  *
00013  * NOTES
00014  *    the genbki.pl script reads this file and generates .bki
00015  *    information from the DATA() statements.
00016  *
00017  *-------------------------------------------------------------------------
00018  */
00019 #ifndef PG_EXTENSION_H
00020 #define PG_EXTENSION_H
00021 
00022 #include "catalog/genbki.h"
00023 
00024 /* ----------------
00025  *      pg_extension definition.  cpp turns this into
00026  *      typedef struct FormData_pg_extension
00027  * ----------------
00028  */
00029 #define ExtensionRelationId 3079
00030 
00031 CATALOG(pg_extension,3079)
00032 {
00033     NameData    extname;        /* extension name */
00034     Oid         extowner;       /* extension owner */
00035     Oid         extnamespace;   /* namespace of contained objects */
00036     bool        extrelocatable; /* if true, allow ALTER EXTENSION SET SCHEMA */
00037 
00038 #ifdef CATALOG_VARLEN           /* variable-length fields start here */
00039     /* extversion should never be null, but the others can be. */
00040     text        extversion;     /* extension version name */
00041     Oid         extconfig[1];   /* dumpable configuration tables */
00042     text        extcondition[1];    /* WHERE clauses for config tables */
00043 #endif
00044 } FormData_pg_extension;
00045 
00046 /* ----------------
00047  *      Form_pg_extension corresponds to a pointer to a tuple with
00048  *      the format of pg_extension relation.
00049  * ----------------
00050  */
00051 typedef FormData_pg_extension *Form_pg_extension;
00052 
00053 /* ----------------
00054  *      compiler constants for pg_extension
00055  * ----------------
00056  */
00057 
00058 #define Natts_pg_extension                  7
00059 #define Anum_pg_extension_extname           1
00060 #define Anum_pg_extension_extowner          2
00061 #define Anum_pg_extension_extnamespace      3
00062 #define Anum_pg_extension_extrelocatable    4
00063 #define Anum_pg_extension_extversion        5
00064 #define Anum_pg_extension_extconfig         6
00065 #define Anum_pg_extension_extcondition      7
00066 
00067 /* ----------------
00068  *      pg_extension has no initial contents
00069  * ----------------
00070  */
00071 
00072 #endif   /* PG_EXTENSION_H */