/*------------------------------------------------------------------------- * * pg_namespace.h * definition of the system "namespace" relation (pg_namespace) * along with the relation's initial contents. * * * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * $PostgreSQL: pgsql/src/include/catalog/pg_namespace.h,v 1.14 2004/08/29 05:06:55 momjian Exp $ * * NOTES * the genbki.sh script reads this file and generates .bki * information from the DATA() statements. * *------------------------------------------------------------------------- */ #ifndef PG_NAMESPACE_H #define PG_NAMESPACE_H /* ---------------- * postgres.h contains the system type definitions and the * CATALOG(), BOOTSTRAP and DATA() sugar words so this file * can be read by both genbki.sh and the C compiler. * ---------------- */ /* ---------------------------------------------------------------- * pg_namespace definition. * * cpp turns this into typedef struct FormData_pg_namespace * * nspname name of the namespace * nspowner owner (creator) of the namespace * nspacl access privilege list * ---------------------------------------------------------------- */ CATALOG(pg_namespace) { NameData nspname; int4 nspowner; Oid nsptablespace; /* default table space for name space */ aclitem nspacl[1]; /* VARIABLE LENGTH FIELD */ } FormData_pg_namespace; /* ---------------- * Form_pg_namespace corresponds to a pointer to a tuple with * the format of pg_namespace relation. * ---------------- */ typedef FormData_pg_namespace *Form_pg_namespace; /* ---------------- * compiler constants for pg_namespace * ---------------- */ #define Natts_pg_namespace 4 #define Anum_pg_namespace_nspname 1 #define Anum_pg_namespace_nspowner 2 #define Anum_pg_namespace_nsptablespace 3 #define Anum_pg_namespace_nspacl 4 /* ---------------- * initial contents of pg_namespace * --------------- */ DATA(insert OID = 11 ( "pg_catalog" PGUID 0 _null_ )); DESCR("System catalog schema"); #define PG_CATALOG_NAMESPACE 11 DATA(insert OID = 99 ( "pg_toast" PGUID 0 _null_ )); DESCR("Reserved schema for TOAST tables"); #define PG_TOAST_NAMESPACE 99 DATA(insert OID = 2200 ( "public" PGUID 0 _null_ )); DESCR("Standard public schema"); #define PG_PUBLIC_NAMESPACE 2200 /* * prototypes for functions in pg_namespace.c */ extern Oid NamespaceCreate(const char *nspName, int32 ownerSysId, Oid nspTablespace); #endif /* PG_NAMESPACE_H */