diff options
author | Tom Lane | 2012-10-08 01:52:07 +0000 |
---|---|---|
committer | Tom Lane | 2012-10-08 01:52:43 +0000 |
commit | 95d035e66d8e4371d35830d81f39face03cd4c45 (patch) | |
tree | 450c4e30491bd17f6499e8a33c094f9353238f79 /src/include/postgres_ext.h | |
parent | ea72bb8ae527d371ccaf53647540a33224df92a6 (diff) |
Autoconfiscate selection of 64-bit int type for 64-bit large object API.
Get rid of the fundamentally indefensible assumption that "long long int"
exists and is exactly 64 bits wide on every platform Postgres runs on.
Instead let the configure script select the type to use for "pg_int64".
This is a bit of a pain in the rear since we do not want to pollute client
namespace with all the random symbols that pg_config.h defines; instead
we have to create a separate generated header file, "pg_config_ext.h".
But now that the infrastructure is there, we might have the ability to
add some other stuff that's long been wanting in this area.
Diffstat (limited to 'src/include/postgres_ext.h')
-rw-r--r-- | src/include/postgres_ext.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/include/postgres_ext.h b/src/include/postgres_ext.h index 76502de647b..5ba379f869b 100644 --- a/src/include/postgres_ext.h +++ b/src/include/postgres_ext.h @@ -23,6 +23,8 @@ #ifndef POSTGRES_EXT_H #define POSTGRES_EXT_H +#include "pg_config_ext.h" + /* * Object ID is a fundamental type in Postgres. */ @@ -37,6 +39,9 @@ typedef unsigned int Oid; #define OID_MAX UINT_MAX /* you will need to include <limits.h> to use the above #define */ +/* Define a signed 64-bit integer type for use in client API declarations. */ +typedef PG_INT64_TYPE pg_int64; + /* * Identifiers of error message fields. Kept here to keep common @@ -56,9 +61,4 @@ typedef unsigned int Oid; #define PG_DIAG_SOURCE_LINE 'L' #define PG_DIAG_SOURCE_FUNCTION 'R' -#ifndef NO_PG_INT64 -#define HAVE_PG_INT64 1 -typedef long long int pg_int64; -#endif - -#endif +#endif /* POSTGRES_EXT_H */ |