company logo

Simple instance versioning

When using simple instance scope versioning, each instance scope creates its own continuous version numbers, i.e. the version number for an instance scope does not tell anything about the sequence of changes between different instances.

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

In order to preserve the state of an instance scope at a certain time point, an instance scope version can be created by calling Property ::createVersion() for a selected instance. The function stores possible modifications for the current version before creating a new version. The function must not be called for generic attributes, string or binary data references, which are element of the instance scope.

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

// DBVersion Utility: set version mode local

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

// set version mode from within a program: ;

... fragment ( Database &dbh ) {

  dbh.versioningMode(instance);

}