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]