company logo

ObjectSpace :: eraseExtent - Erase extent

The function deletes the extent with the extent name passed in sExtentName . The extent name may contain a scope prefix, when the extent has been defined in a namespace.

The extent will be removed completely, which includes removing all instances from derived extents. When the extent owns the instances, instances are deleted, too, which may take some time.

Extents should be erased, before deleting extent definitions in the dictionary. When the extent definition is not available anymore, the extent will be deleted without deleting owned instances. This may cause database errors, which can be repaired calling Database :: checkDatabase() .

The function should be called, only, for databases which have been opened exclusive. No extent must be opened before calling the function.

Notes:

The function does not delete the extent reference, i.e. before removing an extent definition from the dictionary, eraseExtentReference() has to be called.

Implementation details

ObjectSpace  :: eraseExtent ( odaba::String &sExtentName )

The complete scoped name of the extent to be deleted has to be passed in sExtentName . When the extent is defined in the global scope, only the extent name has to be passed.

  • sExtentName - Extent name