Versioning scopes
Versioning scope is a versioning feature, that defines the scope, for which consistency is guaranteed also for history. Of course, the consistency at all is guaranteed on database level, but this is not always the most appropriate solution. Thus, different versioning scope features are supported:
- database (D) - total database consistency in history
- objectspace (P) - each object space guarantees consistency within object space borders
- owner (O) - consistency is guaranteed within an owner scope
- instance (I) - consistency is guaranteed within an instance scope
Independent on selected versioning features, the current database state is always consistent. This is, however, not necessarily the case for historical states. The most flexible but less (historical) consistent way of creating versions is creating instance scope versions selecting instance versioning scope. Also owner scope version is rather flexible and performs well. Object space versioning is nearly consistent, i.e. the only exception are relationships passing object space boundaries. Database versioning is consistent at all. The more consistency the versioning strategy guarantees, the more resource consuming and less flexible it becomes.
Combining versioning scope features with versioning levels and versioning consistency features also influences the degree of consistency for history.