Enabling and Disabling Data Versioning
Data versioning for the repository is enabled or disabled by metacreate and metamigrate, and is reflected by a flag setting in the metaroot table. When data versioning is disabled for the repository, no metamodels or classes can ever support data versioning.
When data versioning is enabled for the repository, versioning can be enabled or disabled for any model or class in the repository.
Data versioning can be:
Data versioning for a new model is determined by the state of versioning set in metaroot. Data versioning for a new class is determined from the state of versioning for the model that created the class.
An application can modify the data versioning state for a model by calling CMetaAIM::SetModelVersioningFlag. The application can only enable versioning for a model if data versioning is enabled at the repository level.
An application can modify the data versioning state for a class by calling CMetaClassDesc::SetClassDescVersioningFlag. The application can only enable versioning for a class if data versioning is enabled at the repository level.