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

From: "Ed Yu" <ekyu(at)sc(dot)rr(dot)com>
To: "pgsql-jdbc" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Patches for ResultSetMetaData.java for Postgresql 7.1.3 (sorry, here is the diff -c with explanations)
Date: 2002-01-06 03:39:18
Message-ID: 001c01c19663$b8af27e0$bf00a8c0@sc.rr.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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();
+ }
}

}

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Ed Yu 2002-01-06 03:52:48 Patches for DatabaseMetaData.java for Postgresql 7.1.3 (sorry, here is the diff -c with explanations)
Previous Message Bruce Momjian 2002-01-06 03:12:07 Re: JDBC Patches DatabaseMetaData.java and ResultSetMetaData.java