Floating point error - Mailing list pgsql-general

From Tom Duffey
Subject Floating point error
Date
Msg-id F0E0F874-C86F-48D1-AA2A-0C5365BF5118@trillitech.com
Whole thread Raw
Responses Re: Floating point error  (John R Pierce <pierce@hogranch.com>)
Re: Floating point error  (Adrian Klaver <adrian.klaver@gmail.com>)
Re: Floating point error  (James Cloos <cloos@jhcloos.com>)
List pgsql-general
Hi Everyone,

Riddle me this. I have a database column of type "real" that gets mapped =
to a Java field of type double via JDBC. We have two databases, test and =
production, and the test database is periodically blown away and =
reloaded from a copy of production. We recently noticed that some values =
do not match when viewed within our application on test vs. production. =
More specifically:

- Selecting values from both test and production DBs using psql shows =
"10.3885" as the value
- The Java app on production shows "10.3884573" while the test app shows =
"10.3885"

I have a hunch that when the value was originally inserted into the =
production DB it probably contained more than the 6 digits supported by =
the real data type. It may have even been exactly the "10.3884573" value =
we see when retrieving via JDBC on production. What I don't understand =
is why when the value gets mapped back to Java via JDBC those extra =
digits are coming back. Can anyone explain this or do you think I'm on =
the wrong track? I stepped through code and it sure seems like the extra =
information is coming back from the JDBC driver.

Tom

--
Tom Duffey
tduffey@trillitech.com
414-751-0600 x102

pgsql-general by date:

Previous
From: Maz Mohammadi
Date:
Subject: Re: [JDBC] can't access through SSL
Next
From: John R Pierce
Date:
Subject: Re: Floating point error