Patch for getBestRowIdentifier (for testing with Oracle JDeveloper)

Поиск
Список
Период
Сортировка
От snpe
Тема Patch for getBestRowIdentifier (for testing with Oracle JDeveloper)
Дата
Msg-id 200209112238.08812.snpe@snpe.co.yu
обсуждение исходный текст
Ответ на Re: [HACKERS] problem with new autocommit config parameter and jdbc  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: Patch for getBestRowIdentifier (for testing with Oracle JDeveloper)
Список pgsql-jdbc
Please appl
--- AbstractJdbc1DatabaseMetaData.java    Wed Sep 11 22:21:25 2002
+++ AbstractJdbc1DatabaseMetaData.java.orig    Wed Sep 11 22:20:36 2002
@@ -2381,44 +2381,21 @@
     // Implementation note: This is required for Borland's JBuilder to work
     public java.sql.ResultSet getBestRowIdentifier(String catalog, String
schema, String table, int scope, boolean nullable) throws SQLException
     {
-        if (connection.haveMinimumServerVersion("7.3")) {
-            StringBuffer sql = new StringBuffer(512);
-            sql.append("SELECT " +
-                scope + " as SCOPE," +
-                "a.attname as COLUMN_NAME," +
-                "a.atttypid as DATA_TYPE," +
-                "t.typname as TYPE_NAME," +
-                "t.typlen as COLUMN_SIZE," +
-                "0::int4 as BUFFER_LENGTH," +
-                "0::int4 as DECIMAL_DIGITS," +
-                "0::int4 as PSEUDO_COLUMN " +
-             "FROM pg_catalog.pg_type t,pg_catalog.pg_class bc," +
-                "pg_catalog.pg_class ic, pg_catalog.pg_index i, pg_catalog.pg_attribute a
" +
-             "WHERE bc.relkind = 'r' " +
-              "AND t.oid=a.atttypid " +
-              "AND upper(bc.relname) = upper('" + table + "') " +
-              "AND i.indrelid = bc.oid " +
-              "AND i.indexrelid = ic.oid " +
-              "AND ic.oid = a.attrelid " +
-              "AND i.indisprimary='t' ");
-            return connection.createStatement().executeQuery(sql.toString());
-        } else {
-            // for now, this returns an empty result set.
-            Field f[] = new Field[8];
-            ResultSet r;    // ResultSet for the SQL query that we need to do
-            Vector v = new Vector();        // The new ResultSet tuple stuff
+        // for now, this returns an empty result set.
+        Field f[] = new Field[8];
+        ResultSet r;    // ResultSet for the SQL query that we need to do
+        Vector v = new Vector();        // The new ResultSet tuple stuff

-            f[0] = new Field(connection, "SCOPE", iInt2Oid, 2);
-            f[1] = new Field(connection, "COLUMN_NAME", iVarcharOid, NAME_SIZE);
-            f[2] = new Field(connection, "DATA_TYPE", iInt2Oid, 2);
-            f[3] = new Field(connection, "TYPE_NAME", iVarcharOid, NAME_SIZE);
-            f[4] = new Field(connection, "COLUMN_SIZE", iInt4Oid, 4);
-            f[5] = new Field(connection, "BUFFER_LENGTH", iInt4Oid, 4);
-            f[6] = new Field(connection, "DECIMAL_DIGITS", iInt2Oid, 2);
-            f[7] = new Field(connection, "PSEUDO_COLUMN", iInt2Oid, 2);
+        f[0] = new Field(connection, "SCOPE", iInt2Oid, 2);
+        f[1] = new Field(connection, "COLUMN_NAME", iVarcharOid, NAME_SIZE);
+        f[2] = new Field(connection, "DATA_TYPE", iInt2Oid, 2);
+        f[3] = new Field(connection, "TYPE_NAME", iVarcharOid, NAME_SIZE);
+        f[4] = new Field(connection, "COLUMN_SIZE", iInt4Oid, 4);
+        f[5] = new Field(connection, "BUFFER_LENGTH", iInt4Oid, 4);
+        f[6] = new Field(connection, "DECIMAL_DIGITS", iInt2Oid, 2);
+        f[7] = new Field(connection, "PSEUDO_COLUMN", iInt2Oid, 2);

-            return connection.getResultSet(null, f, v, "OK", 1);
-        }
+        return connection.getResultSet(null, f, v, "OK", 1);
     }

     /*



В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Barry Lind
Дата:
Сообщение: Re: BlobOutputStream patch and related patches
Следующее
От: snpe
Дата:
Сообщение: Re: Patch for getBestRowIdentifier (for testing with Oracle JDeveloper)