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

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to