Re: Call for porting reports - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Call for porting reports
Date
Msg-id Pine.LNX.4.21.0004021805380.373-100000@localhost.localdomain
Whole thread Raw
In response to Call for porting reports  (Thomas Lockhart <lockhart@alumni.caltech.edu>)
Responses Re: Call for porting reports  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Thomas Lockhart writes:

> I'd like to collect info on the platforms we are supporting for v7.0.

I am now reproduceably getting this failure in the timestamp test. I have
never seen it before today:


*** expected/timestamp.out    Sun Apr  2 14:15:29 2000
--- results/timestamp.out    Sun Apr  2 18:01:21 2000
***************
*** 13,25 **** SELECT (timestamp 'today' = (timestamp 'tomorrow' - interval '1 day')) as "True";  True  ------
!  t (1 row)  SELECT (timestamp 'tomorrow' = (timestamp 'yesterday' + interval '2 days')) as "True";  True  ------
!  t (1 row)  SELECT (timestamp 'current' = 'now') as "True";
--- 13,25 ---- SELECT (timestamp 'today' = (timestamp 'tomorrow' - interval '1 day')) as "True";  True  ------
!  f (1 row)  SELECT (timestamp 'tomorrow' = (timestamp 'yesterday' + interval '2 days')) as "True";  True  ------
!  f (1 row)  SELECT (timestamp 'current' = 'now') as "True";
***************
*** 81,87 **** SELECT count(*) AS one FROM TIMESTAMP_TBL WHERE d1 = timestamp 'today' + interval '1 day';  one  -----
!    1 (1 row)  SELECT count(*) AS one FROM TIMESTAMP_TBL WHERE d1 = timestamp 'today' - interval '1 day';
--- 81,87 ---- SELECT count(*) AS one FROM TIMESTAMP_TBL WHERE d1 = timestamp 'today' + interval '1 day';  one  -----
!    0 (1 row)  SELECT count(*) AS one FROM TIMESTAMP_TBL WHERE d1 = timestamp 'today' - interval '1 day';

----------------------


The catch is that this *always* happens in the (parallel) regression tests
but not if I run the file through psql by hand. Gives me a warm feeling
... :(

Furthermore, PostgreSQL doesn't compile with gcc 2.8.1 (never has). I get
a fatal signal if backend/utils/adt/float.c is compiled with -O2 or
higher. The offending line is in function

float64 dpow(float64 arg1, float64 arg2)

*result = (float64data) pow(tmp1, tmp2);

Certainly a compiler bug, does anyone have a suggestion how this should be
handled? Is gcc 2.8.1 in wide-spread use?

-- 
Peter Eisentraut                  Sernanders väg 10:115
peter_e@gmx.net                   75262 Uppsala
http://yi.org/peter-e/            Sweden



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Question about initdb -t
Next
From: Tom Lane
Date:
Subject: Re: Docs refreshed