company logo

Synchronized Instance scope versioning

In order to activate synchronized instance scope versioning, the DBVersion utility or Database::versioningMode() might be called.

When using synchronized instance scope versioning, new versions have to be created on database level. In order to create a new version, a new version number can be assigned to the database by calling Database::createVersion(). Each version request will create a new consecutive version number on database level -the database version. Thus, version numbers represent a temporal order, since lower versions are older than higher versions.

In order to upgrade an instance scope to a version number between the current instance scope version and the last database version, the instance scope version can be upgraded by calling Property::updateVersion(). The function has to be called for a property handle with a selected instance (scope instance). The function must not be called for local property handles an generic attributes, MEMO or BLOB fields.

New versions for subordinated database entries are created automatically before updating database entries with version number older than the owner scope version.

// DBVersion Utility: set version mode

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

// set version mode from within a program: Database dbh;

... fragment ( Database &dbh ) {

  dbh.versioningMode(synchronizedInstance);

}