in reply to Catalyst Concurrency Control

The implication of the two replies so far is that concurrency control is not within the framework's remit and should be implemented within the database.

Most, if not all, of the current 'business logic' is really validating data integrity - much of it complex so that it cannot be stated using database constraints. Most of this validation requires some sort of concurrency control to guarantee 100% integrity within a multi-user environment.

However, I should be looking to move this business logic into the database - as constraints, stored procedures or triggers - in order to achieve the guarantee of data integrity I am after. Any such logic within the framework in a multi-user environment can give me no guarantees that it is actually adhered to. The framework will really end up as a transportation layer moving data for the database to the UI and back with limited additional functionality.