OID Bug in AbstractJdbc2DatabaseMetaData.java - Mailing list pgsql-jdbc

From Q
Subject OID Bug in AbstractJdbc2DatabaseMetaData.java
Date
Msg-id 2AC0EF77-E032-4459-A980-DF9E630EF6E1@gmail.com
Whole thread Raw
Responses Re: OID Bug in AbstractJdbc2DatabaseMetaData.java
List 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)));


-- 

Seeya...Q


Quinton Dolan - qdolan@gmail.com

Gold Coast, QLD, Australia

Ph: +61 419 729 806


pgsql-jdbc by date:

Previous
From: Dave Cramer
Date:
Subject: Re: Problem with Utilizing executeBatch() with stored procedures
Next
From: Dave Cramer
Date:
Subject: Re: Problem with Utilizing executeBatch() with stored procedures