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 по дате отправления: