diff options
author | Wilrik de Loose <wilrik@wilrik.nl> | 2008-05-06 12:49:45 (GMT) |
---|---|---|
committer | Wilrik de Loose <wilrik@wilrik.nl> | 2008-05-06 12:49:45 (GMT) |
commit | d058611bd983ec0339a784a3db16612b4418b000 (patch) | |
tree | bb6eae7b29c832f9e48096727fbcc7d6e68cfe08 | |
parent | cadaee395e4161b559ab345d175c8b32c4950d19 (diff) | |
download | 2iv55-d058611bd983ec0339a784a3db16612b4418b000.zip 2iv55-d058611bd983ec0339a784a3db16612b4418b000.tar.gz 2iv55-d058611bd983ec0339a784a3db16612b4418b000.tar.bz2 |
postgres_ext.h
-rw-r--r-- | db_demo/postgres_ext.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/db_demo/postgres_ext.h b/db_demo/postgres_ext.h new file mode 100644 index 0000000..efffad2 --- /dev/null +++ b/db_demo/postgres_ext.h @@ -0,0 +1,69 @@ +/*------------------------------------------------------------------------- + * + * postgres_ext.h + * + * This file contains declarations of things that are visible everywhere + * in PostgreSQL *and* are visible to clients of frontend interface libraries. + * For example, the Oid type is part of the API of libpq and other libraries. + * + * Declarations which are specific to a particular interface should + * go in the header file for that interface (such as libpq-fe.h). This + * file is only for fundamental Postgres declarations. + * + * User-written C functions don't count as "external to Postgres." + * Those function much as local modifications to the backend itself, and + * use header files that are otherwise internal to Postgres to interface + * with the backend. + * + * $PostgreSQL: pgsql/src/include/postgres_ext.h,v 1.16 2004/08/29 05:06:55 momjian Exp $ + * + *------------------------------------------------------------------------- + */ + +#ifndef POSTGRES_EXT_H +#define POSTGRES_EXT_H + +/* + * Object ID is a fundamental type in Postgres. + */ +typedef unsigned int Oid; + +#ifdef __cplusplus +#define InvalidOid (Oid(0)) +#else +#define InvalidOid ((Oid) 0) +#endif + +#define OID_MAX UINT_MAX +/* you will need to include <limits.h> to use the above #define */ + + +/* + * NAMEDATALEN is the max length for system identifiers (e.g. table names, + * attribute names, function names, etc). It must be a multiple of + * sizeof(int) (typically 4). + * + * NOTE that databases with different NAMEDATALEN's cannot interoperate! + */ +#define NAMEDATALEN 64 + + +/* + * Identifiers of error message fields. Kept here to keep common + * between frontend and backend, and also to export them to libpq + * applications. + */ +#define PG_DIAG_SEVERITY 'S' +#define PG_DIAG_SQLSTATE 'C' +#define PG_DIAG_MESSAGE_PRIMARY 'M' +#define PG_DIAG_MESSAGE_DETAIL 'D' +#define PG_DIAG_MESSAGE_HINT 'H' +#define PG_DIAG_STATEMENT_POSITION 'P' +#define PG_DIAG_INTERNAL_POSITION 'p' +#define PG_DIAG_INTERNAL_QUERY 'q' +#define PG_DIAG_CONTEXT 'W' +#define PG_DIAG_SOURCE_FILE 'F' +#define PG_DIAG_SOURCE_LINE 'L' +#define PG_DIAG_SOURCE_FUNCTION 'R' + +#endif |