Thread: getColumnClassName() and getObject() types differ for smallint

getColumnClassName() and getObject() types differ for smallint

From
"Karl von Randow"
Date:
Hi all,

I have encountered what I believe is a bug in the Postgres JDBC drivers 8.0
build 312 and 8.1dev build 401 in regards to the class returned for smallint
columns using getObject() compared to the class indicated by the
getColumnClassName() method.

For my smallint column:
ResultSetMetaData.getColumnClassName() returns java.lang.Short
ResultSet.getObject().getClass().getName() returns java.lang.Integer

I have tested and confirmed this behaviour in driver 8.0 312 and 8.1dev 401
against my PostgreSQL 7.3.2 installation using Java 1.5.0_04-b05 on Linux. I
have not had an opportunity to test against a different version of
PostgreSQL.

The problem does not exist in the 7.4 build 216 driver; it returns
java.lang.Short for both.

Kind regards,
Karl


Re: getColumnClassName() and getObject() types differ for

From
Oliver Jowett
Date:
Karl von Randow wrote:

> For my smallint column:
> ResultSetMetaData.getColumnClassName() returns java.lang.Short

That sounds like a bug.

> ResultSet.getObject().getClass().getName() returns java.lang.Integer

This is the correct result per the JDBC spec.

-O

Re: getColumnClassName() and getObject() types differ for

From
Kris Jurka
Date:
Oliver Jowett wrote:
> Karl von Randow wrote:
>
>>For my smallint column:
>>ResultSetMetaData.getColumnClassName() returns java.lang.Short
>
> That sounds like a bug.
>

Fixed in 8.0 and 8.1 cvs.

Kris Jurka