Re: Different exponent in error messages

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Different exponent in error messages
Дата
Msg-id 28917.1137019966@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Different exponent in error messages  (Michael Fuhr <mike@fuhr.org>)
Ответы Re: Different exponent in error messages  (Scott Marlowe <smarlowe@g2switchworks.com>)
Список pgsql-general
Michael Fuhr <mike@fuhr.org> writes:
> I think this is what Andrus is seeing:

> test=> CREATE TABLE foo (n numeric(9,3));
> CREATE TABLE
> test=> INSERT INTO foo VALUES (1000000);
> ERROR:  numeric field overflow
> DETAIL:  The absolute value is greater than or equal to 10^6 for field with precision 9, scale 3.
> test=> INSERT INTO foo VALUES (1000000000);
> ERROR:  numeric field overflow
> DETAIL:  The absolute value is greater than or equal to 10^9 for field with precision 9, scale 3.

Hm, I thought I tested that same case, but I must've messed up somehow.

Anyway, the code seems to be intentionally reporting the log10 of the
actual input value, not the limiting log10 for the field size.  This
behavior goes at least as far back as PG 7.0, so I'm disinclined to
change it.  We could talk about altering the message wording though,
if you have a suggestion for something you'd find less confusing.
Pre-7.4 versions say

ERROR:  overflow on numeric ABS(value) >= 10^9 for field with precision 9 scale 3

so it looks like we just fixed the grammar during the 7.4 message
wording cleanup, without reflecting about whether the meaning was clear.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: Different exponent in error messages
Следующее
От: Michael Fuhr
Дата:
Сообщение: Re: getting access to geodistance (what do I need to install/enable) in an existing db install