Re: Infinity vs Error for division by zero

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: Infinity vs Error for division by zero
Дата
Msg-id CAKFQuwav8Sr++0RjugrrKC3SWqZ_AXdO+9kxh_0kC9ouXsnpwg@mail.gmail.com
обсуждение исходный текст
Ответ на Infinity vs Error for division by zero  (Matt Pulver <mpulver@unitytechgroup.com>)
Ответы Re: Infinity vs Error for division by zero
Re: Infinity vs Error for division by zero
Список 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 по дате отправления:

Предыдущее
От: Andrew Gierth
Дата:
Сообщение: Re: Infinity vs Error for division by zero
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Infinity vs Error for division by zero