There seems to be a bug in internalGetObject(int, Field) in
org.postgresql.jdbc2.AbstractJdbc2ResultSet. I am using the
postgresql-jdbc-8.0-319.src sources. I am placing the patch file inline
below in case the mailing list does not accept attachments. The bug (?) is
that for TINYINT and SMALLINT columns a java.lang.Short should be returned
from internalGetObject, but an Integer is returned instead.
Patch:
--- AbstractJdbc2ResultSet.java 2007-04-16 11:37:04.000000000 -0500
+++ AbstractJdbc2ResultSet.java.patched 2007-04-30 15:52:51.000000000 -0500
@@ -117,6 +117,7 @@
return getBoolean(columnIndex) ? Boolean.TRUE : Boolean.FALSE;
case Types.TINYINT:
case Types.SMALLINT:
+ return new Short(getShort(columnIndex));
case Types.INTEGER:
return new Integer(getInt(columnIndex));
case Types.BIGINT:
David Clark