company logo

ObjectSpace :: eraseExtentReference - Delete extent reference

The function deletes the offset for the extent. After deleting an extent offset, the extent does practically not exist anymore. Future requests for the extent will recreate an empty extent. When the extent has sub extents, those are deleted as well.

The use of the function is critical, since instances owned by the extent are not maintained and may cause problems later on. Also Database::checkDatabase() will not be able to solve the problems, i.e. database copy might become necessary.

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

Notes:

Running the function within a transaction may cause problems in further actions within the same transaction.

Implementation details

ObjectSpace  :: eraseExtentReference ( 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