Thanks for the quick response, Kathey. Some comments inline...

On 12/10/10 10:09 AM, Kathey Marsden wrote:
On 12/10/2010 9:46 AM, Rick Hillegas wrote:
I am considering adding metadata wrapper functions to the Derby product. I would like the community's feedback on how to expose these functions.

Thank you Rick for this work. I have not looked closely at it but am wondering if you are proposing that these be exposed as a stable or unstable interface
I don't see much danger that the signatures of the functions will change. They are pretty much the signatures of the corresponding metadata methods. They might become redundant, though, if someone implements the Information Schema. We also might rue our choice of system schema and want to move the methods to another schema.
and also wonder if we have a
call syscs_util.syscs_load_metadata_wrappers( true ); , if there should also a be an unload or if the load method should reload new definitions.
I was thinking that you would unload the wrappers by invoking the new system procedure like this:

call syscs_util.syscs_load_metadata_wrappers( false );

I can't remember if columns might get added for metadata calls with new JDBC versions. It seems to me there is some sort of precedence for this. Even if there is just a bug it would be great to be able to drop and reload.
JDBC 4.0 added columns to some of the metadata ResultSets. JDBC 4.1 will add a couple new methods to DatabaseMetaData. As you note, we should make it possible to unload the old wrappers and load the new ones.

Again having not looked at this, I don't understand how confident we will never want to change the wrappers, but it might be nice to first just expose them on a Wiki page as unstable and subject to change until they have been vetted instead of putting them in the formal documentation right away. Pardon my fear of compatibility commitments #:)
I share your concern about creating new compatibility commitments for a large api. Documenting this on the wiki as an experimental feature sounds prudent to me. This would discourage 3rd parties from building tools using these wrappers. However, we would still be able to use the methods ourselves and we could cite them in our tech support responses.

Thanks,
-Rick


Thanks

Kathey






Reply via email to