Re: division by zero

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Eric B(dot) Ridge" <ebr(at)tcdi(dot)com>
Cc: pgsql-general(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: division by zero
Date: 2003-03-08 18:19:03
Message-ID: 7695.1047147543@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

"Eric B. Ridge" <ebr(at)tcdi(dot)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?

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2003-03-08 19:20:52 Re: My contract has been renewed
Previous Message Detlef Jockheck 2003-03-08 18:15:45 PostgreSQL Frontend for Windows

Browse pgsql-hackers by date

  From Date Subject
Next Message Merlin Moncure 2003-03-08 18:31:00 Re: [GENERAL] division by zero
Previous Message Tom Lane 2003-03-08 17:41:03 Re: regression failure in CVS HEAD