Reset versions
Versions created on database level or for a specific versioning scope may be reset, i.e. newer database entries will be removed and previous entries become the current one. Resetting versions is no problem, as long as versions are synchronized and reset on database level.
Resetting versions to a for a specific version number on database level is supported for all kinds of synchronized versioning mode including database and pure managed versioning modes. Calling Database::resetVersion() will remove all database entry versions including the version number passed to the function. For managed versioning modes, the version number must not refer to a previous major version, i.e. resetting minor versions is supported within a major version, only.
When managed versioning is enabled, one may reset the database to any major version by calling Database::resetMajorVersion(), which will will reset all database entries to the last state of the preceding major version. For managed synchronized versioning, the last minor version for the preceding major version will be set to the last minor version assigned.
Resetting version scopes for a single object space, owner or instance scope is a critical operation, since it may conflict with database states in other scopes and the current version may become inconsistent.
Resetting versions is not always allowed. The current version supports resetting versions on database level, only.