Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

OID Bug in AbstractJdbc2DatabaseMetaData.java



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(at)gmail(dot)com

Gold Coast, QLD, Australia

Ph: +61 419 729 806





Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group