Hi Dag,

Here's my $.02: I think that there is plenty of precedent for checking in partial features. There is even precedent for removing unfinished features before cutting the release branch. I suspect that your upgrade code will be checked in long before Bernt builds the 10.4 release--that's at least 2 months out. If the Roles work is not done--and we decide that we want to go ahead with 10.4 anyway--then I think we can get away with the following:

1) Leave the catalog changes in. That means that a hard-upgrade will add the new system table and its indexes even though they won't be used.

2) Disable role creation in the parser.

3) Disable the roles tests.

4) If you don't submit user documentation until the feature is complete, then there shouldn't be any need to back out documentation changes.

That sounds like a small amount of back-out work to me and the destabilization risk seems minimal. So I say

a) +1 to incremental development

b) Check in what you've got now and move on to the next increment.

Cheers,
-Rick

Dag H. Wanvik wrote:
In the roles work I am introducing a new catalog, SYS.SYSROLES.
I am considering impacts of committing new the code to trunk and would
appreciate some advice.

- In the event that the roles feature is not ready for 10.4, it would
  need to be backed out, which could cause some turbulence in a
  release end-game. Is this an acceptable risk, or should a new
  feature which introduces a new catalog be on its own branch until it
  is ready (with the ensuing merge pains) ?

  I would prefer to stay on trunk, but realize there is a potential
  downside if the feature is not ready in time..

- When committing the patch for DERBY-3137, until I include hard
  upgrade code to add the new catalogue, an upgraded database will
  lack the new catalog and fail whenever a role related statement or
  expression is used ERROR XSAI2: The conglomerate (-1) requested does
  not exist. Some tests which are sensitive to the number of catalogs
  would also fail when run against an upgraded database for the same
  reason.

  In the spirit of incremental development, is it OK to check in the
  new catalog code (hard upgrade doesn't break; it just doesn't do all
  it is supposed to do yet), or should I wait until I have a patch
  that handles the upgrade as well?

Thanks,
Dag


Reply via email to