Bruce Momjian wrote:
> I can confirm your failure in current sources on Win32:
>
> template1=# create table test(x int8);
> CREATE TABLE
> template1=# insert into test values ('4567890123456789');
> INSERT 17235 1
> template1=# select * from test;
> x
> ------------
> -869367531
> (1 row)
>
> and it knows it is a large number:
>
> template1=# select * from test where x > 1000::int8;
> x
> ------------
> -869367531
> (1 row)
> template1=# select * from test where x < 1000::int8;
> x
> ---
> (0 rows)
>
> I am going to add some debugs to see what is being passed to *printf().
I have not found the solution yet but am heading to bed. My next guess
is that Win32 isn't handling va_arg(..., long long int) properly.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073