Starting in version 4.3, Smallworld GIS images/sessions can use a virtual VMDS by passing the -vvmds flag. For example:
d:\smallworld\core\bin\x86\runalias.exe -vvmds -a d:\smallworld\cambridge_db\config\gis_aliases cambridge_db_open
This is useful when you want to be able to restart from a known state without having to use checkpoints. It’s also extremely helpful when doing work with Alternatives. If, for example, you’re writing alternative cleanup routines and want to test them, normally you’d have to make a backup of the database, run your routines (that remove alternatives) and then restore the database if you wanted to test again.
But using the virtual VMDS, a simple session restart will “restore” the database to its previous state because no changes are actually written to the physical datastore files.
Here’s the description from the online Smallworld documentation.
VVMDS (virtual VMDS) is a VMDS operating mode where no changes are written to the real datastore file, even though all VMDS functionality appears to run normally. This is particularly useful for testing scenarios, for example when assessing the effects of a database upgrade. Each new session starts from exactly the same state without formality.
As the database is being ‘updated’, the changes are actually written to a separate file. The simplest way of doing this is to use an in-memory file, because that will always disappear when the session ends. However, for testing database upgrades, where the volume of change is large, a real disk file may be required to accommodate the volume of change. In extreme cases, for example when testing an upgrade of a full production customer database, it may be necessary to use a file configured as a superfile because the volume of change exceeds 16GB.