company logo

Managed synchronized object space versioning

Managed synchronized object space versioning differs from managed object space versioning only by the way assigning version numbers. Version numbers are assigned on database level ( Database ::createVersion() ). Accessing different versions, managed synchronized object space versioning behaves similar as synchronized object space versioning.

Older minor versions are consistent considering the object space, but may become inconsistent considering relationships to instances belonging to other object spaces, which is rather a rare case. Major versions are always consistent.

Combining managed versioning with synchronized object space versioning allows creating up to 65,535 minor object space versions for each major version. How to handle managed versions is described in detail in chapter " Defining major versions ".

Concerning minor versions, managedSychronizedObjectspace versioning behaves similar as synchronized object space versioning , except that the number of minor versions for each major version is limited to 65,535. When creating a new major version ( Database ::createMajorVersion() ), the minor version number for all object spaces is reset to 0.

// DBVersion Utility: set version mode individual ao managed individual

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

// set version mode from within a program: ;

... fragment ( Database &dbh ) {

  dbh.versioningMode(managedSynchronizedObjectspace);

}