00001 /*------------------------------------------------------------------------- 00002 * 00003 * pg_shdescription.h 00004 * definition of the system "shared description" relation 00005 * (pg_shdescription) 00006 * 00007 * NOTE: an object is identified by the OID of the row that primarily 00008 * defines the object, plus the OID of the table that that row appears in. 00009 * For example, a database is identified by the OID of its pg_database row 00010 * plus the pg_class OID of table pg_database. This allows unique 00011 * identification of objects without assuming that OIDs are unique 00012 * across tables. 00013 * 00014 * 00015 * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group 00016 * Portions Copyright (c) 1994, Regents of the University of California 00017 * 00018 * src/include/catalog/pg_shdescription.h 00019 * 00020 * NOTES 00021 * the genbki.pl script reads this file and generates .bki 00022 * information from the DATA() statements. 00023 * 00024 * XXX do NOT break up DATA() statements into multiple lines! 00025 * the scripts are not as smart as you might think... 00026 * 00027 *------------------------------------------------------------------------- 00028 */ 00029 #ifndef PG_SHDESCRIPTION_H 00030 #define PG_SHDESCRIPTION_H 00031 00032 #include "catalog/genbki.h" 00033 00034 /* ---------------- 00035 * pg_shdescription definition. cpp turns this into 00036 * typedef struct FormData_pg_shdescription 00037 * ---------------- 00038 */ 00039 #define SharedDescriptionRelationId 2396 00040 00041 CATALOG(pg_shdescription,2396) BKI_SHARED_RELATION BKI_WITHOUT_OIDS 00042 { 00043 Oid objoid; /* OID of object itself */ 00044 Oid classoid; /* OID of table containing object */ 00045 00046 #ifdef CATALOG_VARLEN /* variable-length fields start here */ 00047 text description; /* description of object */ 00048 #endif 00049 } FormData_pg_shdescription; 00050 00051 /* ---------------- 00052 * Form_pg_shdescription corresponds to a pointer to a tuple with 00053 * the format of pg_shdescription relation. 00054 * ---------------- 00055 */ 00056 typedef FormData_pg_shdescription *Form_pg_shdescription; 00057 00058 /* ---------------- 00059 * compiler constants for pg_shdescription 00060 * ---------------- 00061 */ 00062 #define Natts_pg_shdescription 3 00063 #define Anum_pg_shdescription_objoid 1 00064 #define Anum_pg_shdescription_classoid 2 00065 #define Anum_pg_shdescription_description 3 00066 00067 /* ---------------- 00068 * initial contents of pg_shdescription 00069 * ---------------- 00070 */ 00071 00072 /* 00073 * Because the contents of this table are taken from the other *.h files, 00074 * there is no initialization here. The initial contents are extracted 00075 * by genbki.pl and loaded during initdb. 00076 */ 00077 00078 #endif /* PG_SHDESCRIPTION_H */