2008-03-27 04:57:34 +01:00
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* genbki.h
|
|
|
|
* Required include file for all POSTGRES catalog header files
|
|
|
|
*
|
|
|
|
* genbki.h defines CATALOG(), DATA(), BKI_BOOTSTRAP and related macros
|
|
|
|
* so that the catalog header files can be read by the C compiler.
|
2010-01-05 02:06:57 +01:00
|
|
|
* (These same words are recognized by genbki.pl to build the BKI
|
2008-03-27 04:57:34 +01:00
|
|
|
* bootstrap file from these header files.)
|
|
|
|
*
|
|
|
|
*
|
2015-01-06 17:43:47 +01:00
|
|
|
* Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group
|
2008-03-27 04:57:34 +01:00
|
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
|
|
*
|
2010-09-20 22:08:53 +02:00
|
|
|
* src/include/catalog/genbki.h
|
2008-03-27 04:57:34 +01:00
|
|
|
*
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
*/
|
2009-06-11 16:49:15 +02:00
|
|
|
#ifndef GENBKI_H
|
2008-03-27 04:57:34 +01:00
|
|
|
#define GENBKI_H
|
|
|
|
|
|
|
|
/* Introduces a catalog's structure definition */
|
|
|
|
#define CATALOG(name,oid) typedef struct CppConcat(FormData_,name)
|
|
|
|
|
2014-11-20 19:16:14 +01:00
|
|
|
/* Options that may appear after CATALOG (on the same line) */
|
|
|
|
#define BKI_BOOTSTRAP
|
|
|
|
#define BKI_SHARED_RELATION
|
|
|
|
#define BKI_WITHOUT_OIDS
|
|
|
|
#define BKI_ROWTYPE_OID(oid)
|
|
|
|
#define BKI_SCHEMA_MACRO
|
2015-02-21 22:25:49 +01:00
|
|
|
#define BKI_FORCE_NULL
|
|
|
|
#define BKI_FORCE_NOT_NULL
|
2014-11-20 19:16:14 +01:00
|
|
|
|
2012-01-27 19:16:17 +01:00
|
|
|
/*
|
|
|
|
* This is never defined; it's here only for documentation.
|
|
|
|
*
|
|
|
|
* Variable-length catalog fields (except possibly the first not nullable one)
|
|
|
|
* should not be visible in C structures, so they are made invisible by #ifdefs
|
2014-05-06 18:12:18 +02:00
|
|
|
* of an undefined symbol. See also MARKNOTNULL in bootstrap.c for how this is
|
2012-01-27 19:16:17 +01:00
|
|
|
* handled.
|
|
|
|
*/
|
|
|
|
#undef CATALOG_VARLEN
|
|
|
|
|
2008-03-27 04:57:34 +01:00
|
|
|
/* Declarations that provide the initial content of a catalog */
|
|
|
|
/* In C, these need to expand into some harmless, repeatable declaration */
|
|
|
|
#define DATA(x) extern int no_such_variable
|
|
|
|
#define DESCR(x) extern int no_such_variable
|
|
|
|
#define SHDESCR(x) extern int no_such_variable
|
|
|
|
|
|
|
|
#endif /* GENBKI_H */
|