Tom Lane wrote:
> Simon Riggs <simon(at)2ndquadrant(dot)com> writes:
> > Wikipedia says that exponentiation of zero to a negative power implies
> > division by zero, so shouldn't we throw a "division by zero" error?
>
> I think it should be a specific message like "zero raised to a negative
> power is undefined". It's not like it's going to take us any extra code
> to know that we are faced with that case.
>
> BTW, I realized that SQL:2003 spells it all out for us in explicit
> detail:
...
> b) If VB is 0 (zero) and VE is negative, then an exception condition is
> raised: data exception invalid argument for power function.
Well, this indicates we shouldn't return "zero raised to a negative
power is undefined", but rather the power error we are giving now, or
are you saying we should return the "power" error code but an error
message mentioning zero?
> c) If VB is 0 (zero) and VE is 0 (zero), then the result is 1 (one).
I have updated the C comments to mention the spec also requires we
return 1 in this case.
C comment updated attached and applied.
--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
Attachment: /rtmp/diff
Description: text/x-diff (2.1 KB)
In response to
Responses
pgsql-committers by date
| Next: | From: Peter Eisentraut | Date: 2008-05-09 15:36:31 |
| Subject: pgsql: Add "%option noinput" to the scanners to avoid compiler warnings. |
| Previous: | From: Bruce Momjian | Date: 2008-05-09 15:36:06 |
| Subject: pgsql: Update C comments to mention SQL:2003 handling of power return |