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.