company logo

Simple owner scope versioning

Owner scope versioning creates independent version numbers within an owner scope (global instance), i.e. each owner scope gets its own consecutive version numbers, i.e. the version number for an owner scope does not tell anything about the sequence of changes between different owner scopes. In order to activate owner scope versioning, the DBVersion utility or Database::versioningMode() might be called.

In order to preserve the state of an owner scope at a certain time point, an owner scope version can be created by calling Property::createVersion() for the global instance (scope owner). The function must not be called for local property handles, i.e. properties, which belong to the owner scope.

New versions for subordinated database entries are created automatically before updating database entries with a version number lower than the owner scope version. In case of owner scope versioning, one must not call Property::updateVersion().

// DBVersion Utility: set version mode individual

  DBVersion.exe c:\Sample\sample.dat mode -M:O

// set version mode from within a program: ;

... fragment ( Database &dbh ) {

  dbh.versioningMode(owner);

}

Notes:

Sorry, Property::resetVersion() is not yet supported.