BUG #4947: libpq PQntuples should return 64-bit number
От | Jim Michaels |
---|---|
Тема | BUG #4947: libpq PQntuples should return 64-bit number |
Дата | |
Msg-id | 200907280654.n6S6sdvm050676@wwwmaster.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #4947: libpq PQntuples should return 64-bit number
|
Список | pgsql-bugs |
The following bug has been logged online: Bug reference: 4947 Logged by: Jim Michaels Email address: jmichae3@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
В списке pgsql-bugs по дате отправления: