Re: Bug : FAST_NUMBER_FAILED when getting NaN on BigDecimal

From: DocSea - Patrice Delorme <pdelorme(at)docsea(dot)com>
To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Bug : FAST_NUMBER_FAILED when getting NaN on BigDecimal
Date: 2012-09-12 09:00:03
Message-ID: 50504F13.2020607@docsea.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Le 11/09/2012 16:10, Kevin Grittner a écrit :
> DocSea - Patrice Delorme <pdelorme(at)docsea(dot)com> wrote:
>
>> It is impossible to fetch data when numeric value in database is
>> NaN
>> It throws FAST_NUMBER_FAILED
>> (postgresql-jdbc-9.1-902:AbstractJdbc2ResultSet:2176) because my
>> value is not numeric (NaN).
>> This is incorect behaviour since 'NaN' is a legal value in
>> postgres for numeric type.
>
> How do you expect what you read to be represented in Java?
>
> -Kevin
>
>
Hi Kevin,

You are right, as a matter of Fact BigDecimal does not support NaN like
Double, Float does.
However, postgres DOES support it and I find it disturbing that the
driver fails so badly without explaination (I had to dig in the driver
source to find out what the problem was).
The problem is that somehow I managed to write my Double NaN to database
but wasn't able to read it back even though I was using the very same
driver in both cases!
To me, behaviour is not coherent. Either wriiting of NaN is prevented or
reading is functional !

Maybe a more explicit Exception like "numeric NaN values not supported"
and not "org.postgresql.util.PSQLException: Bad value for type
BigDecimal : NaN;" which is rather obscure
or to Extend BigDecimal with PgBigDecimal that supports NaN (and
infinity)...

Best Regards,

P.

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Dave Cramer 2012-09-12 09:03:07 Re: 9.2 driver
Previous Message Devrim GÜNDÜZ 2012-09-12 08:59:52 Re: 9.2 driver