JDBC Developers,
What are your plans for supporting the upcoming JDK 1.5 including RowSets? I tried using the CachedRowSet class with the latest build of JDK 1.5 and the latest JDBC3 driver build, and ran into this error:
org.postgresql.util.PSQLException: This method is not yet implemented.
at org.postgresql.Driver.notImplemented(Driver.java:413)
at org.postgresql.jdbc3.AbstractJdbc3DatabaseMetaData.locatorsUpdateCopy(AbstractJdbc3DatabaseMetaData.java:339)
at com.sun.rowset.CachedRowSetImpl.initMetaData(CachedRowSetImpl.java:691)
at com.sun.rowset.CachedRowSetImpl.populate(CachedRowSetImpl.java:597)
at com.sun.rowset.internal.CachedRowSetReader.readData(CachedRowSetReader.java:170)
at com.sun.rowset.CachedRowSetImpl.execute(CachedRowSetImpl.java:727)
As I understand it, JDK 1.5 uses JDBC 3.0 (same as JDK 1.4). The only thing new here is the CachedRowSet. The error seems to suggest that the JDBC driver does not implement a method in the JDBC 3.0 spec that the CachedRowSet now uses.
JDBC Driver: PG7.4 Build 214 JDBC3
JDK Version: JDK 1.5.0 Beta 3 Build 55
(let me know if you'd like a code sample)
Just so you know, I have tried the CachedRowSet class in a previous JDK 1.5 build and received a different error:
org.postgresql.util.PSQLException: A result was returned when none was expected.
at org.postgresql.jdbc1.AbstractJdbc1Statement.executeUpdate(AbstractJdbc1Statement.java:275)
at com.sun.rowset.internal.CachedRowSetReader.readData(CachedRowSetReader.java:146)
at com.sun.rowset.CachedRowSetImpl.execute(CachedRowSetImpl.java:583)
at RowSetTest.testCachedRowSet1(RowSetTest.java:52)
at RowSetTest.main(RowSetTest.java:19)
I was puzzled why the executeUpdate() method was getting invoked when I was performing a SELECT. It looks like something in the CachedRowSetReader.readData() has changed (for the better?) in this newer JDK build.
Thank you,
Kevin MacClay