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

From Matt Pulver
Subject Infinity vs Error for division by zero
Date
Msg-id CAHiCE4X7NH9cBWRmAeHOK3cUKjTG6mZSnE0d9bN+ovXVOBF_6Q@mail.gmail.com
Whole thread Raw
Responses Re: Infinity vs Error for division by zero
Re: Infinity vs Error for division by zero
Re: Infinity vs Error for division by zero
List pgsql-hackers
Hello,

PostgreSQL FLOAT appears to support +/-Infinity and NaN per the IEEE 754 standard, with expressions such as CAST('NaN' AS FLOAT) and CAST('Infinity' AS FLOAT) and even supports ordering columns of floats that contain NaN.

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.

Best regards,
Matt

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Minimal logical decoding on standbys
Next
From: Andrew Gierth
Date:
Subject: Re: Infinity vs Error for division by zero