Product Documentation
Virtuoso Studio Design Environment User Guide
Product Version IC23.1, November 2023

Automatic Defragmentation of OpenAccess Databases

When objects are deleted from a cellview, the disk space is not immediately reclaimed. This is because it is more efficient and reliable to reuse the memory of the deleted objects than to deallocate and reallocate the memory. Undo needs to be able to restore objects to their original locations in memory and that cannot happen if the space has been reclaimed. Applications rely on knowing object locations in the memory and they will not function correctly if objects that are cached or are being accessed move in the memory.

Instead, space in the database is recovered (defragmented) when certain conditions are met and when the database is read from the disk. The database file size changes only when the database is saved after defragmentation has occurred. Defragmentation is an expensive operation, so it occurs only when a significant amount of space can be reclaimed. Defragmentation happens automatically and does not require any user intervention or application control.

Related Topics

Opening a Cellview from the CIW

Saving Modified Data

Setting the Default Application for a Cellview Type


Return to top
 ⠀
X