BUG #15080: ecpg on windows doesn't define HAVE_LONG_LONG_INT
The Post Office <noreply@postgresql.org>
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: jallen@americansavingslife.com
Date: 2018-02-23T03:14:49Z
Lists: pgsql-bugs
The following bug has been logged on the website: Bug reference: 15080 Logged by: jonathan allen Email address: jallen@americansavingslife.com PostgreSQL version: 10.2 Operating system: Windows 10 x64 Description: I'm trying to access a bigint column on windows using ecpg and I get the following error: SQL error: unsupported type "long long" on line x I found ecpg_get_data() is the call generating the error, and there's a block of code being skipped because HAVE_LONG_LONG_INT is not defined. I found the following code in pg_config.h and tried adding the 3rd line (#define HAVE_LONG_LONG_INT 1)... /* Define to 1 if `long long int' works and is 64 bits. */ #if (_MSC_VER > 1200) #define HAVE_LONG_LONG_INT_64 1 #define HAVE_LONG_LONG_INT 1 #endif Then I tried recompiling postgres from source and copying over the new bin, lib, include and shared directories...but no luck, my program is still throwing the same error. I asked on the #postgresql irc channel and RhodiumToad and xocolatl said that if I reported this as a bug paquier would see this and he'd be the person to ask about it. I'd really like to be able to get a fix going that I can compile and use myself until a new public release is available - this bug has brought our postgres migration to a standstill, it's a real show stopper. :( Thank you for looking into this and hopefully pointing me in the right direction. :) -Jonathan
Commits
-
Remove configure's check for nonstandard "long long" printf modifiers.
- b929614f5e86 11.0 landed
-
printf("%lf") is not portable, so omit the "l".
- 0aa97b86f902 9.3.24 landed
- fa2cfb962c05 10.5 landed
- e52cabff7054 9.4.19 landed
- c6e846446d17 11.0 landed
- 9c515f77d6cf 9.6.10 landed
- 29a4db65fbb7 9.5.14 landed
-
Support platforms where strtoll/strtoull are spelled __strtoll/__strtoull.
- 91f3bcc9e423 9.3.24 landed
- 8109f201da77 9.4.19 landed
- a5be529aaade 10.5 landed
- 7329af6b9ebf 9.5.14 landed
- 22d22e4bddf6 9.6.10 landed
- 06f66cff9e0b 11.0 landed
-
Arrange to supply declarations for strtoll/strtoull if needed.
- e9f475f991fb 9.3.24 landed
- c964c2147136 10.5 landed
- a6228128fc48 11.0 landed
- 95fef6e82a7d 9.5.14 landed
- 4ffd7909c63a 9.6.10 landed
- 023aa76e1952 9.4.19 landed
-
Hot-fix ecpg regression test for missing ecpg_config.h inclusion.
- d73857d5719e 9.3.24 landed
- 54ae787ca732 9.4.19 landed
- bc8656cf980e 9.5.14 landed
- 4ca492425cd9 9.6.10 landed
- e55a5516deee 10.5 landed
- 5e79405d8299 11.0 landed
-
Add some test coverage for ecpg's "long long" support.
- ec99e9aa110a 9.6.10 landed
- e75c832b29b1 9.4.19 landed
- e21085da56a9 10.5 landed
- dbccdd375b41 11.0 landed
- d9cbe9c9fce9 9.3.24 landed
- 9d6616708d3f 9.5.14 landed
-
Recognize that MSVC can support strtoll() and strtoull().
- f586f8638929 11.0 landed
- cf39aebf17c5 10.5 landed
- 63d3e787f954 9.3.24 landed
- 385f4acbf824 9.4.19 landed
- 25caeae8d279 9.6.10 landed
- 11a110595c72 9.5.14 landed
-
Fix up ecpg's configuration so it handles "long long int" in MSVC builds.
- fda3e6578676 10.4 landed
- f171cbe0d90e 9.5.13 landed
- 87b7e1e88772 9.3.23 landed
- 7ee8005ceddf 9.6.9 landed
- 51057feaa6bd 11.0 landed
- 49f9014c8c1e 9.4.18 landed