On Thu, 1 Jul 2021 at 14:17, Dean Rasheed <dean.a.rasheed@gmail.com> wrote: > > On Tue, 29 Jun 2021 at 12:08, Dean Rasheed <dean.a.rasheed@gmail.com> wrote: > > > > Numeric x^y is supported for x < 0 if y is an integer, but this > > currently fails if y is outside the range of an int32 > > I've been doing some more testing of this, and I spotted another > problem with numeric_power(). > > [loss of precision and overflow errors] > > I think we should attempt to avoid all such overflow errors, > that are actually underflows, and return zero instead. >
Finally getting back to this ... attached is an updated patch that now includes a fix for the loss-of-precision bug and the overflow errors. I don't think it's really worth trying to split these up, since they're all somewhat interrelated.
Regards, Dean
Hi,
+ (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE),
+ errmsg("value overflows numeric format")));
Here is an example of existing error message which I think is more readable than 'overflows numeric format':