1 /*------------------------------------------------------------------------- 2 * 3 * pg_namespace.h 4 * definition of the "namespace" system catalog (pg_namespace) 5 * 6 * 7 * Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group 8 * Portions Copyright (c) 1994, Regents of the University of California 9 * 10 * src/include/catalog/pg_namespace.h 11 * 12 * NOTES 13 * The Catalog.pm module reads this file and derives schema 14 * information. 15 * 16 *------------------------------------------------------------------------- 17 */ 18 #ifndef PG_NAMESPACE_H 19 #define PG_NAMESPACE_H 20 21 #include "catalog/genbki.h" 22 #include "catalog/pg_namespace_d.h" 23 24 /* ---------------------------------------------------------------- 25 * pg_namespace definition. 26 * 27 * cpp turns this into typedef struct FormData_pg_namespace 28 * 29 * nspname name of the namespace 30 * nspowner owner (creator) of the namespace 31 * nspacl access privilege list 32 * ---------------------------------------------------------------- 33 */ 34 CATALOG(pg_namespace,2615,NamespaceRelationId) 35 { 36 NameData nspname; 37 Oid nspowner; 38 39 #ifdef CATALOG_VARLEN /* variable-length fields start here */ 40 aclitem nspacl[1]; 41 #endif 42 } FormData_pg_namespace; 43 44 /* ---------------- 45 * Form_pg_namespace corresponds to a pointer to a tuple with 46 * the format of pg_namespace relation. 47 * ---------------- 48 */ 49 typedef FormData_pg_namespace *Form_pg_namespace; 50 51 /* 52 * prototypes for functions in pg_namespace.c 53 */ 54 extern Oid NamespaceCreate(const char *nspName, Oid ownerId, bool isTemp); 55 56 #endif /* PG_NAMESPACE_H */ 57