Re: division by zero
От | Stephan Szabo |
---|---|
Тема | Re: division by zero |
Дата | |
Msg-id | 20030308111114.O8453-100000@megazone23.bigpanda.com обсуждение исходный текст |
Ответ на | Re: division by zero (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
On Sat, 8 Mar 2003, Tom Lane wrote: > "Eric B. Ridge" <ebr@tcdi.com> 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 по дате отправления: