Re: ResultSetMetaData + CachedResultSet bug - Mailing list pgsql-jdbc

From Kris Jurka
Subject Re: ResultSetMetaData + CachedResultSet bug
Date
Msg-id Pine.BSO.4.63.0606291837350.28844@leary2.csoft.net
Whole thread Raw
In response to ResultSetMetaData + CachedResultSet bug  ("Sergii Sinelnychenko" <SSinelnychenko@bossdev.com>)
Responses Re: ResultSetMetaData + CachedResultSet bug
List pgsql-jdbc

On Thu, 22 Jun 2006, Sergii Sinelnychenko wrote:

>   Today I have found a strange bug in JDBC driver (I used the last version
> avilable - 8.2dev-503). The problem is with VARCHAR fields - driver returns
> "-1" on "getPrecision()" call. But class javax.sql.rowset.RowSetMetaDataImpl
> in its "setPrecision()" method requires values of 0 and more (javadoc sais
> "precision the total number of decimal digits; must be <code>0</code> or more
> ").
> I understand that in case of VARCHAR type we cannot speak about real number
> of decimal digits - but could just driver return 0 instead of -1?


That certainly looks like a reasonable thing to do for text types.  The
one case that needs a little more thinking about is a numeric field that
has neither precision nor scale supplied.  For this we currently return -1
for both precision and scale.  The maximum precision of a numeric is 1000
digits, so we could divy it up evenly and make an unadorned numeric be
returned as numeric(1000,500), but that seems a little too much like just
making things up.  Thoughts?

Kris Jurka

pgsql-jdbc by date:

Previous
From: Kris Jurka
Date:
Subject: Re: Italian translation update
Next
From: Thomas Hallgren
Date:
Subject: Re: ResultSetMetaData + CachedResultSet bug