Re: Infinity vs Error for division by zero - Mailing list pgsql-hackers

From David G. Johnston
Subject Re: Infinity vs Error for division by zero
Date
Msg-id CAKFQuwav8Sr++0RjugrrKC3SWqZ_AXdO+9kxh_0kC9ouXsnpwg@mail.gmail.com
Whole thread Raw
In response to Infinity vs Error for division by zero  (Matt Pulver <mpulver@unitytechgroup.com>)
Responses Re: Infinity vs Error for division by zero
Re: Infinity vs Error for division by zero
List pgsql-hackers
On Friday, March 1, 2019, Matt Pulver <mpulver@unitytechgroup.com> wrote:
However the query "SELECT 1.0/0.0;" produces an exception:

ERROR:  division by zero

Question: If Infinity and NaN are supported, then why throw an exception here, instead of returning Infinity? Is it purely for historical reasons, or if it could all be done again, would an exception still be preferred?

For purely integer arithmetic, I can see how an exception would make sense. However for FLOAT, I would expect/prefer Infinity to be returned.

1/0 is an illegal operation.  We could return NaN for it but the choice of throwing an error is just as correct.  Returning infinity is strictly incorrect.

Changing the behavior is not going to happen for any existing data types.

David J.

pgsql-hackers by date:

Previous
From: Andrew Gierth
Date:
Subject: Re: Infinity vs Error for division by zero
Next
From: Andres Freund
Date:
Subject: Re: Infinity vs Error for division by zero