Header And Logo

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

genbki.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * genbki.h
00004  *    Required include file for all POSTGRES catalog header files
00005  *
00006  * genbki.h defines CATALOG(), DATA(), BKI_BOOTSTRAP and related macros
00007  * so that the catalog header files can be read by the C compiler.
00008  * (These same words are recognized by genbki.pl to build the BKI
00009  * bootstrap file from these header files.)
00010  *
00011  *
00012  * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
00013  * Portions Copyright (c) 1994, Regents of the University of California
00014  *
00015  * src/include/catalog/genbki.h
00016  *
00017  *-------------------------------------------------------------------------
00018  */
00019 #ifndef GENBKI_H
00020 #define GENBKI_H
00021 
00022 /* Introduces a catalog's structure definition */
00023 #define CATALOG(name,oid)   typedef struct CppConcat(FormData_,name)
00024 
00025 /*
00026  * This is never defined; it's here only for documentation.
00027  *
00028  * Variable-length catalog fields (except possibly the first not nullable one)
00029  * should not be visible in C structures, so they are made invisible by #ifdefs
00030  * of an undefined symbol.  See also MARKNOTNULL in bootstrap.c for how this is
00031  * handled.
00032  */
00033 #undef CATALOG_VARLEN
00034 
00035 /* Options that may appear after CATALOG (on the same line) */
00036 #define BKI_BOOTSTRAP
00037 #define BKI_SHARED_RELATION
00038 #define BKI_WITHOUT_OIDS
00039 #define BKI_ROWTYPE_OID(oid)
00040 #define BKI_SCHEMA_MACRO
00041 
00042 /* Declarations that provide the initial content of a catalog */
00043 /* In C, these need to expand into some harmless, repeatable declaration */
00044 #define DATA(x)   extern int no_such_variable
00045 #define DESCR(x)  extern int no_such_variable
00046 #define SHDESCR(x) extern int no_such_variable
00047 
00048 /* PHONY type definitions for use in catalog structure definitions only */
00049 typedef int aclitem;
00050 typedef int pg_node_tree;
00051 
00052 #endif   /* GENBKI_H */