OID Bug in AbstractJdbc2DatabaseMetaData.java
От | Q |
---|---|
Тема | OID Bug in AbstractJdbc2DatabaseMetaData.java |
Дата | |
Msg-id | 2AC0EF77-E032-4459-A980-DF9E630EF6E1@gmail.com обсуждение исходный текст |
Ответы |
Re: OID Bug in AbstractJdbc2DatabaseMetaData.java
|
Список | pgsql-jdbc |
I recently ran into an issue upgrading from the 8.1 JDBC driver where the more recent drivers would throw an exception when retrieving meta data if there were any relations with very large OID's. (exceeding 2^31).
The following patch "resolved" things enough to avoid the issue.
--- org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java.orig Thu Apr 26 10:42:27 2007
+++ org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java Thu Apr 26 10:52:45 2007
@@ -3564,7 +3564,7 @@
{
byte[][] tuple = new byte[18][];
String typname = rs.getString(1);
- int typeOid = rs.getInt(2);
+ int typeOid = (int)rs.getLong(2) & 0xffffffff;
tuple[0] = connection.encodeString(typname);
tuple[1] = connection.encodeString(Integer.toString(connection.getSQLType(typname)));
В списке pgsql-jdbc по дате отправления: