From: | "Inoue, Hiroshi" <inoue(at)tpf(dot)co(dot)jp> |
---|---|
To: | Matt Lilley <matt(dot)lilley(at)securitease(dot)com> |
Cc: | pgsql-odbc(at)postgresql(dot)org |
Subject: | Re: FORMAT_INTEGER is wrong on (some) 64 bit platforms? |
Date: | 2013-07-24 03:22:22 |
Message-ID: | 51EF486E.7060307@tpf.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
Hi Matt,
(2013/07/24 3:32), Matt Lilley wrote:
> Hello,
>
> I'm trying to understand the logic in psqlodbc.h where if the size of a
> long int is not 8 that FORMAT_INTEGER is set to "%ld".
Is the version 9.02.0100?
Does replacing SIZEOF_LONG_INT by SIZEOF_LONG work?
regards,
Hiroshi Inoue
> I can't find any
> definitive documentation, but I gather from various forum posts that the
> size of SQL_C_LONG is always intended to be 4 bytes, independent of the
> host architecture. (This exact issue was first reported 9 years ago, it
> seems [1]). I don't think it should matter what size long int is on the
> host: surely it should only matter what the type being passed into
> SQLBindParameter is given as, since the data is packed by the caller,
> not the callee. My initial instinct was just to change the macro from
> "%ld" to "%d" (and similarly, "%lu" to "%u" for FORMAT_UINTEGER), but
> since there is quite a bit of code in there trying to make sense of it,
> I thought I'd check here.
>
> FWIW, I got here by trying to bind an integer column to -1 and getting
> an out-of-range error, just like Kelly in [1]. Changing the %ld -> %d
> fixes the symptoms for me. Is there any reason this can't be fixed?
>
> Regards,
> Matt
From | Date | Subject | |
---|---|---|---|
Next Message | onur gulsevgi | 2013-07-24 06:22:14 | Re: Fwd: configure: error: unixODBC library "odbcinst" not found while trying to compile odbc |
Previous Message | Dev Kumkar | 2013-07-23 19:32:56 | Re: Fwd: configure: error: unixODBC library "odbcinst" not found while trying to compile odbc |