Re: public interface ResultSetInternalMethods with nonpublic CachedResultSetMetaData
"Mark Matthews" <[email protected]> Mon, 21 Jan 2008 08:48:08 -0600 (CST)
| Newsgroups | gmane.comp.db.mysql.java |
|---|---|
| Message-ID | <[email protected]> |
> This seems like a pretty straightforward bug in the connector/j class > hierarchy: > > ResultSetInternalMethods is a public interface, but it requires > implementing the following two methods that depend on > CachedResultSetMetaData, which is a package-private class: > > populateCachedMetaData(CachedResultSetMetaData cachedMetaData) > initializeFromCachedMetaData(CachedResultSetMetaData cachedMetaData) > > This effectively makes it impossible to implement that interface > outside the com.mysql.jdbc package, voiding its utility as a public > interface. This is a problem when implementing StatementInterceptors > because as the comments of ResultSetInternalMethods say, it is > "intended to be used by implementors of statement interceptors so that > implementors can create static ... proxy instances of ResultSets". > This is not actually possible without introducing a class into the > com.mysql.jdbc package. > > Help? Thanks, > eric Hi Eric, This is now fixed and will be in the next release. Unfortunately, our test for this used a java.lang.Proxy, which didn't complain about the access to the class. -Mark -- MySQL Java Mailing List For list archives: http://lists.mysql.com/java To unsubscribe: http://lists.mysql.com/[email protected]