It fails on two of my machines like this:
*** src/test/regress/expected/int8.out Sun Oct 5 12:19:58 2008
--- src/test/regress/results/int8.out Sun Oct 5 12:20:26 2008
***************
*** 748,756 **** (1 row) SELECT CAST('9223372036854775807.0'::float4 AS int8);
! ERROR: bigint out of range SELECT CAST('9223372036854775807.0'::float8 AS int8);
! ERROR: bigint out of range SELECT CAST('922337203685477580700.0'::float8 AS int8); ERROR: bigint out of range
SELECTCAST(q1 AS oid) FROM INT8_TBL;
--- 748,764 ---- (1 row) SELECT CAST('9223372036854775807.0'::float4 AS int8);
! int8
! ---------------------
! 9223372036854775807
! (1 row)
! SELECT CAST('9223372036854775807.0'::float8 AS int8);
! int8
! ---------------------
! 9223372036854775807
! (1 row)
! SELECT CAST('922337203685477580700.0'::float8 AS int8); ERROR: bigint out of range SELECT CAST(q1 AS oid) FROM
INT8_TBL;
======================================================================
It seems to me that these two new tests are inherently checking
machine-dependent floating point behavior, not anything Postgres
can control. I'd suggest just removing them.
The buildfarm is showing still other "interesting" behaviors.
I'm not really interested in having umpteen expected int8 files
to deal with all the strange corner cases that might be seen
on different platforms. Please just remove all the edge-case
tests.
regards, tom lane