Patches for ResultSetMetaData.java for Postgresql 7.1.3 (sorry, here is the diff -c with explanations)

Поиск
Список
Период
Сортировка
От Ed Yu
Тема Patches for ResultSetMetaData.java for Postgresql 7.1.3 (sorry, here is the diff -c with explanations)
Дата
Msg-id 001c01c19663$b8af27e0$bf00a8c0@sc.rr.com
обсуждение исходный текст
Ответы Re: Patches for ResultSetMetaData.java for Postgresql 7.1.3 (sorry,  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-jdbc
This patch fixes the exception thrown to inform the user the method
getColumnClassName(int) is not implemented. This will futher fixes method
ResultSet.getObject(int) since it requires the getColumnClassName(int)
method to return the proper java class used to map the database column.

*** ResultSetMetaData.java.orig Mon Apr 17 16:07:51 2000
--- ResultSetMetaData.java Mon Dec 17 22:26:24 2001
***************
*** 448,454 ****
--- 448,513 ----
      // This can hook into our PG_Object mechanism
      public String getColumnClassName(int column) throws SQLException
      {
+ /*
+     The following data type mapping came from ../Field.java.
+
+     "int2",
+     "int4","oid",
+     "int8",
+     "cash","money",
+     "numeric",
+     "float4",
+     "float8",
+     "bpchar","char","char2","char4","char8","char16",
+     "varchar","text","name","filename",
+     "bool",
+     "date",
+     "time",
+     "abstime","timestamp"
+
+     Types.SMALLINT,
+     Types.INTEGER,Types.INTEGER,
+     Types.BIGINT,
+     Types.DOUBLE,Types.DOUBLE,
+     Types.NUMERIC,
+     Types.REAL,
+     Types.DOUBLE,
+     Types.CHAR,Types.CHAR,Types.CHAR,Types.CHAR,Types.CHAR,Types.CHAR,
+     Types.VARCHAR,Types.VARCHAR,Types.VARCHAR,Types.VARCHAR,
+     Types.BIT,
+     Types.DATE,
+     Types.TIME,
+     Types.TIMESTAMP,Types.TIMESTAMP
+ */
+
+     int sql_type = getField(column).getSQLType();
+
+     switch (sql_type)
+       {
+       case Types.BIT:
+         return("java.lang.Boolean");
+       case Types.SMALLINT:
+         return("java.lang.Integer");
+       case Types.INTEGER:
+         return("java.lang.Integer");
+       case Types.BIGINT:
+         return("java.lang.Long");
+       case Types.NUMERIC:
+         return("java.math.BigDecimal");
+       case Types.REAL:
+         return("java.lang.Float");
+       case Types.DOUBLE:
+         return("java.lang.Double");
+       case Types.CHAR:
+       case Types.VARCHAR:
+         return("java.lang.String");
+       case Types.DATE:
+       case Types.TIME:
+       case Types.TIMESTAMP:
+         return("java.sql.Timestamp");
+       default:
   throw org.postgresql.Driver.notImplemented();
+       }
      }

  }


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: JDBC Patches DatabaseMetaData.java and ResultSetMetaData.java
Следующее
От: "Ed Yu"
Дата:
Сообщение: Patches for DatabaseMetaData.java for Postgresql 7.1.3 (sorry, here is the diff -c with explanations)