On Tue, Oct 4, 2011 at 8:15 AM, Michael Meskes <mes...@postgresql.org> wrote: > Hi Jim, > >> Postgres 9.1.1 installed on a Windows XP PC. >> Running ECPG with "long long" data type specified in the SQL DECLARE SECTION >> results in "long" being used instead. The same input file works OK on Linux > > This suggests that HAVE_LONG_LONG_INT was not defined during ecpg build. Or in > other words ecpg thinks long long is not supported. > >> with Postgres 9.0.3 Manually changing the data type to "long long" in the >> ECPG output file on Windows: >> ECPGt_long_long,&(_cpp_i_pkd1),(long)1,(long)1,sizeof(long long) -- results >> in run time error "unsupported data type". I am using MS Visual C++ Express > > Did you also change the variable definition to long long? > >> 2010 on Windows, which accepts "long long" to mean the same thing as >> __int64, but ECPG doesn't recognize the later. >> May be related to BUG #5464: ecpg on 64bit system converts "long long" to >> "long" > > Well, this bug is (at least I don't know otherwise) fixed for more than a > year. > Maybe the configure test doesn't work on Windows? I don't know.
On at least some Windows builds, configure isn't used at all... so whatever values is being used would come from the MSVC build system. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs