Re: Integer is not a subclass of Short
От | Oliver Jowett |
---|---|
Тема | Re: Integer is not a subclass of Short |
Дата | |
Msg-id | 4C5213E8.5090801@opencloud.com обсуждение исходный текст |
Ответ на | Integer is not a subclass of Short (Lloyd Parkes <Lloyd.Parkes@ecs.vuw.ac.nz>) |
Ответы |
Re: Integer is not a subclass of Short
|
Список | pgsql-jdbc |
Lloyd Parkes wrote: > Hi all, > I have found a problem with a discrepancy between getColumnClassName() > in jdbc/pgjdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java > and internalGetObject() in > jdbc/pgjdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java. > > The former is defined (indirectly) to return the fully qualified class > name of (a possible superclass of) the object returned by the latter. > For a smallint column, the former returns "java.lang.Short", but the > latter returns a java.lang.Integer. Short is neither Integer, nor a > superclass of Integer. > > I guess someone should add the line "return new > Short(getShort(columnIndex));" between lines 123 and 124 of rev 1.108 of > AbstractJdbc2ResultSet.java. There may be a similar problem with tinyint > columns, but I don't have any tinyint columns. getObject() on a smallint column is correct to return an Integer (see table B-3 in the JDBC spec), so if the metadata method is claiming it should be a Short, then it's the metadata method that's wrong. That said, I think you must be using a very old driver. The last time I can see TypeInfoCache mapping int2 to "java.lang.Short" is back in the 8.1 driver branch. 8.2 and later should return "java.lang.Integer". -O
В списке pgsql-jdbc по дате отправления: