On Tue, Oct 4, 2011 at 8:15 AM, Michael Meskes <meskes@postgresql.org> wrot=
e:
> Hi Jim,
>
>> Postgres 9.1.1 installed on a Windows XP PC.
>> Running ECPG with "long long" data type specified in the SQL DECLARE SEC=
TION
>> results in "long" being used instead. =A0The 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 =A0 Manually changing the data type to "long long" i=
n the
>> ECPG output file on Windows:
>> ECPGt_long_long,&(_cpp_i_pkd1),(long)1,(long)1,sizeof(long long) -- resu=
lts
>> in run time error "unsupported data type". =A0I am using MS Visual C++ E=
xpress
>
> 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.
--=20
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company