Re: Different exponent in error messages

From: Scott Marlowe <smarlowe(at)g2switchworks(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Michael Fuhr <mike(at)fuhr(dot)org>, Andrus <eetasoft(at)online(dot)ee>, pgsql general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Different exponent in error messages
Date: 2006-01-11 23:31:23
Message-ID: 1137022283.3959.3.camel@state.g2switchworks.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-patches

On Wed, 2006-01-11 at 16:52, Tom Lane wrote:
> Michael Fuhr <mike(at)fuhr(dot)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.

Does the SQL spec say anything about the error message? I can't
remember, as it's not a part of the spec I'm real familiar with.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Ari Kahn 2006-01-12 00:00:10 Re: psql(18967) malloc: *** vm_allocate(size=8421376) failed (error code=3)
Previous Message Michael Fuhr 2006-01-11 23:31:02 Re: getting access to geodistance (what do I need to install/enable) in an existing db install

Browse pgsql-patches by date

  From Date Subject
Next Message Neil Conway 2006-01-12 00:30:01 domain constraints and UNKNOWN params
Previous Message Bruce Momjian 2006-01-11 22:53:00 Re: [HACKERS] Inconsistent syntax in GRANT