|
|
|
|
@ -1,14 +1,39 @@ |
|
|
|
|
/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/pgtypes_interval.h,v 1.10 2006/08/23 12:01:52 meskes Exp $ */ |
|
|
|
|
/* $PostgreSQL: pgsql/src/interfaces/ecpg/include/pgtypes_interval.h,v 1.11 2006/08/24 10:48:21 meskes Exp $ */ |
|
|
|
|
|
|
|
|
|
#ifndef PGTYPES_INTERVAL |
|
|
|
|
#define PGTYPES_INTERVAL |
|
|
|
|
|
|
|
|
|
#include <ecpg_config.h> |
|
|
|
|
|
|
|
|
|
#if defined(USE_INTEGER_DATETIMES) && (defined(HAVE_LONG_INT_64) || defined(HAVE_LONG_LONG_INT_64)) |
|
|
|
|
#ifndef C_H |
|
|
|
|
|
|
|
|
|
#ifdef HAVE_LONG_INT_64 |
|
|
|
|
#ifndef HAVE_INT64 |
|
|
|
|
typedef long int int64; |
|
|
|
|
#endif |
|
|
|
|
#elif defined(HAVE_LONG_LONG_INT_64) |
|
|
|
|
/* We have working support for "long long int", use that */ |
|
|
|
|
|
|
|
|
|
#ifndef HAVE_INT64 |
|
|
|
|
typedef long long int int64; |
|
|
|
|
#endif |
|
|
|
|
#else /* not HAVE_LONG_INT_64 and not |
|
|
|
|
* HAVE_LONG_LONG_INT_64 */ |
|
|
|
|
|
|
|
|
|
/* Won't actually work, but fall back to long int so that code compiles */ |
|
|
|
|
#ifndef HAVE_INT64 |
|
|
|
|
typedef long int int64; |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define INT64_IS_BUSTED |
|
|
|
|
#endif /* not HAVE_LONG_INT_64 and not HAVE_LONG_LONG_INT_64 */ |
|
|
|
|
|
|
|
|
|
#if defined(USE_INTEGER_DATETIMES) && !defined(INT64_IS_BUSTED) |
|
|
|
|
#define HAVE_INT64_TIMESTAMP |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#endif /* C_H */ |
|
|
|
|
|
|
|
|
|
typedef struct |
|
|
|
|
{ |
|
|
|
|
#ifdef HAVE_INT64_TIMESTAMP |
|
|
|
|
|