Re: Patches for ResultSetMetaData.java for Postgresql 7.1.3 (sorry,

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Patches for ResultSetMetaData.java for Postgresql 7.1.3 (sorry,
Дата
Msg-id 200201210505.g0L55Kk25296@candle.pha.pa.us
обсуждение исходный текст
Ответ на Patches for ResultSetMetaData.java for Postgresql 7.1.3 (sorry, here is the diff -c with explanations)  ("Ed Yu" <ekyu@sc.rr.com>)
Список pgsql-jdbc
Saved for 7.3:

    http://candle.pha.pa.us/cgi-bin/pgpatches2

---------------------------------------------------------------------------


Ed Yu wrote:
> 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();
> +       }
>       }
>
>   }
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Patches for DatabaseMetaData.java for Postgresql 7.1.3 (sorry,
Следующее
От: Sharon Cowling
Дата:
Сообщение: error calling function - jdbc driver limitation?