Re: division by zero
От
Stephan Szabo
Тема
Re: division by zero
Дата
Msg-id
20030308111114.O8453-100000@megazone23.bigpanda.com
Ответ на
Re: division by zero (Tom Lane)
Список
Дерево обсуждения
division by zero Eric B.Ridge <ebr@tcdi.com>
Re: division by zero Bruce Momjian <pgman@candle.pha.pa.us>
Re: division by zero Tom Lane <tgl@sss.pgh.pa.us>
Re: division by zero Eric B.Ridge <ebr@tcdi.com>
Re: division by zero Tom Lane <tgl@sss.pgh.pa.us>
Re: division by zero Fernando Schapachnik <fernando@mecon.gov.ar>
Re: division by zero Eric B.Ridge <ebr@tcdi.com>
Re: division by zero Brian Hirt <bhirt@mobygames.com>
Re: division by zero Tom Lane <tgl@sss.pgh.pa.us>
Re: division by zero Stephan Szabo <sszabo@megazone23.bigpanda.com>
On Sat, 8 Mar 2003, Tom Lane wrote: > "Eric B. Ridge" writes: > > select 1/0; fails as expected on my x86 Linux box, so yer right, it's > > just my little Mac. "I switched because Mac's can divide by zero." > > I checked into this, and indeed OS X 10.2 is behaving funny: integer > divide by zero doesn't raise any signal, it just returns a bogus answer. > They're within their rights to do so according to the ANSI C spec > (wherein division by zero is stated to have undefined behavior). > But since other BSD-derived Unixen all seem to raise SIGFPE, I can't > help wondering if this shouldn't be considered a bug. > > I think we have three possible responses: > > 1. Put explicit tests for zero into the integer division SQL function > routines. > > 2. Consider this Apple's problem and file a bug report. > > 3. Both. > > I don't care for answer #1 alone, because it would only catch zero > divides in the specific places we put in tests; internal errors would > likely go uncaught. So I think a complaint to Apple is in order. > I'm not sure whether to also put in zero-divide guards. Comments? We probably should put in guards since relying on sane behavior for division by zero is probably unsafe from a portability standpoint. This could hide some internal error on a system that has this problem (since we could otherwise put it into a regression test) but those systems are currently broken if the internal error occurs anyway.
В списке pgsql-general по дате отправления