The following bug has been logged online: Bug reference: 4947 Logged by: Jim Michaels Email address: jmich...@yahoo.com PostgreSQL version: 8.4.0 Operating system: Win XP Pro Sp3 Description: libpq PQntuples should return 64-bit number Details:
I agree that 64-bit numbers are compiler-specific. this can be overcome with something like the following code: although now I understand that the microsoft 2008 compiler implements UINT128, UINT8, UINT64, UINT32, INT64 and the like, but the MINGW compiler and BCC++5.5 do not necessarily implement them. maybe with some #if defined(INT64) the following code could be made proper. something common to all 32-bit microsoft compilers is the __int64 type. I suggest using the qlong type. /*types.h*/ #if !defined(TYPES_LIB_VERSION) #define TYPES_LIB_VERSION "1.0" typedef unsigned long dword; typedef unsigned short word; typedef unsigned char byte; #if defined(__DJGPP__) typedef unsigned long long qword; typedef long long qlong; #elif defined(__BORLANDC__)||defined(_MSC_VER) || defined(__MINGW32__) #include <windows.h> #if defined(__MINGW32__) #include <basetsd.h> #endif #endif //DJGPP /*these are kept down here below the #include windows.h on purpose. __int64 is defined in basetsd.h in MINGW. */ #if defined(__BORLANDC__) || defined(_MSC_VER) || defined(__GNUC__) #if !defined(DWORD) typedef unsigned long DWORD; #endif #if !defined(WORD) typedef unsigned short WORD; #endif #if !defined(BYTE) typedef unsigned char BYTE; #endif #endif /*BORLANDC||MSC_VER||GNUC*/ #if defined(__MINGW32__)||defined(_MSC_VER)||defined(__BORLANDC__) typedef unsigned __int64 qword; typedef __int64 qlong; #if !defined(QWORD) typedef unsigned __int64 QWORD; #endif #elif defined(__DJGPP__) #if !defined(QWORD) typedef unsigned long long QWORD; #endif #endif /*MINGW32*/ #endif -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs