Thread: getBigDecimal problem

getBigDecimal problem

From
svetsch@tradewinds-solutions.com
Date:
Hi,

We just find out a small bug with the getBigDecimal(int i) method in
ResultSet (postgresql 7.1 beta6)

Th symptom is :

We cannot read a decimal value with getBigDecimal() although, we can set it

We solve the problem temporary by replacing the source original method

    public java.math.BigDecimal getBigDecimal(int columnIndex) throws
SQLException
    {
      // Now must call BigDecimal with a scale otherwise JBuilder barfs
      return getBigDecimal(columnIndex,0);
    }

by

    public java.math.BigDecimal getBigDecimal(int columnIndex) throws
SQLException
    {
      // Now must call BigDecimal with a scale otherwise JBuilder barfs
      return getBigDecimal(columnIndex,-1);
    }

So it does not perform a setScale in the method getBigDecimal(int column,
int scale)

It works well for us.


--
Samuel Vetsch
Trade Winds Solutions
36, rue du XXXI Décembre
CH - 1207 Genève
http://www.tradewinds-solutions.com

Re: getBigDecimal problem

From
Peter T Mount
Date:
Quoting svetsch@tradewinds-solutions.com:

> Hi,
>
> We just find out a small bug with the getBigDecimal(int i) method in
> ResultSet (postgresql 7.1 beta6)
>
> Th symptom is :
>
> We cannot read a decimal value with getBigDecimal() although, we can set
> it
>
> We solve the problem temporary by replacing the source original method
>
>     public java.math.BigDecimal getBigDecimal(int columnIndex) throws
> SQLException
>     {
>       // Now must call BigDecimal with a scale otherwise JBuilder barfs
>       return getBigDecimal(columnIndex,0);
>     }
>
> by
>
>     public java.math.BigDecimal getBigDecimal(int columnIndex) throws
> SQLException
>     {
>       // Now must call BigDecimal with a scale otherwise JBuilder barfs
>       return getBigDecimal(columnIndex,-1);
>     }
>
> So it does not perform a setScale in the method getBigDecimal(int
> column,
> int scale)
>
> It works well for us.

Hmmm, that one slipped past me. -1 is the correct figure as the getBigDecimal
(col,scale) method handles scale==-1 as a special case.

Thanks, Peter

--
Peter Mount peter@retep.org.uk
PostgreSQL JDBC Driver: http://www.retep.org.uk/postgres/
RetepPDF PDF library for Java: http://www.retep.org.uk/pdf/