MigratingToRowSetRI

Action Plan for Migrating to the RowSet RI

Here are the steps we need to take to move over to the RowSet RI. We'll use this page to track all the action items and overall status.

Add extensions to the RowSet

There are some extensions that were added in our version that need to be moved over. I'll enter specific bugs in bugtraq and link to them here

Ability to specify which columns are updatable or insertable

Ability to trace SQL output

Ability to determine per-column metadata

Ability to detect changes to properties using a property change listener

Fix some bugs

The ability to update the columns for the table returned by getTableName() even if the rowset is based on a join

Some metadata issues

Others that will be identified as needed

I'll identify these as specific bugs in bugtraq and put links to them here.

Backward Compatibility

There are two ways to handle old projects. One way is to continue to support users building applications using the old rowset classes, while generating code that works with the RI for new projects.

I'd like to propose an alternate approach: we continue to distribute our implementation, but this implementation is just an extension of the RI with no actual code. This would allow existing application code to continue working, and would also allow NetBeans to continue generating the code it does today without change. This reduces complexity, documentation, etc. It would only be done for compatibility, not because we want to provide our own "forked" implementation of rowsets.

This in general should work. The only challenge will be to handle the fact that we have existing code that will not compile if the constructor for CachedRowSetXImpl throws an exception. We can't change either the RI or our extension without breaking compatibility. So this is going to require some more thought...