Re: [BUGS] PostgreSQL 8.1.5: regression tests fail on sparc
Дейтер Александр Валериевич wrote: Hi, PostgreSQL 8.1.5 have a problem with division by zero on sparc. Solaris 9 sparc, gcc 4.0.2, 4.1.1: $ ./configure --enable-thread-safety --disable-nls --without-perl --without-python --without-krb5 --without-openssl --without-readline ... I found that you logged this as gcc bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29968 However, SunStudio is much better for SPARC platform and now is free. GCC does not have good code optimalizer for SPARC. Zdenek ---(end of broadcast)--- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate
Re: [BUGS] PostgreSQL 8.1.5: regression tests fail on sparc
=?KOI8-R?Q?=E4=C5=CA=D4=C5=D2_=E1=CC=C5=CB=D3=C1=CE=C4=D2_=F7=C1?= =?KOI8-R?Q?=CC=C5=D2=C9=C5=D7=C9=DE?= <[EMAIL PROTECTED]> writes: > PostgreSQL 8.1.5 have a problem with division by zero on sparc. > Solaris 9 sparc, gcc 4.0.2, 4.1.1: We've not heard that reported before, so I wonder whether there's not something broken about your compiler or libc. The code in question is in int2div() in utils/adt/int.c: if (arg2 == 0) ereport(ERROR, (errcode(ERRCODE_DIVISION_BY_ZERO), errmsg("division by zero"))); result = arg1 / arg2; It's a bit hard to see how a compiler could get this wrong, but maybe it's thinking it can evaluate the division before calling errfinish? regards, tom lane ---(end of broadcast)--- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate
[BUGS] PostgreSQL 8.1.5: regression tests fail on sparc
Hi, PostgreSQL 8.1.5 have a problem with division by zero on sparc. Solaris 9 sparc, gcc 4.0.2, 4.1.1: $ ./configure --enable-thread-safety --disable-nls --without-perl --without-python --without-krb5 --without-openssl --without-readline ... $ make && make check ... === 1 of 98 tests failed. === The differences that caused some tests to fail can be viewed in the file `./regression.diffs'. A copy of the test summary that you see above is saved in the file `./regression.out'. *** ./expected/errors.out Sat Feb 12 01:15:11 2005 --- ./results/errors.outThu Nov 23 18:14:08 2006 *** *** 300,308 select 1/0::int8; ERROR: division by zero select 1::int2/0; ! ERROR: division by zero select 1/0::int2; ! ERROR: division by zero select 1::numeric/0; ERROR: division by zero select 1/0::numeric; --- 300,310 select 1/0::int8; ERROR: division by zero select 1::int2/0; ! ERROR: floating-point exception ! DETAIL: An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero. select 1/0::int2; ! ERROR: floating-point exception ! DETAIL: An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero. select 1::numeric/0; ERROR: division by zero select 1/0::numeric; == Thanks a lot! -- Alex Deiter ---(end of broadcast)--- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match