Using workspace transactions
Workspace transactions are persistent transactions, which will survive the process. Thus, workspace transactions might be used in order to store work states of a number of objects updated, created or deleted within the workspace transactions. Workspaces need to be administrated, i.e. the database has to be workspace - enabled in order to use workspaces. Workspace administration is described in detail in "Database Utilities". An overview about workspace administration you will find in Special Features/Workspaces.
In order to start a workspace transaction, Database::openWorkspace() has to be called for the database. One may open a workspace on any level in the hierarchy passing a hierarchy path, where names for different workspace levels are separated by dots (.). When closing the workspace calling Database::closeWorkspace(), updated data remains in the workspace and is not visible for users not working within the workspace or in a workspace below. In order to commit workspace data,Database::consolidateWorkspace() has to be called. This will transfer the data to the upper workspace or to the data base, when the current workspace is the top workspace. In order to undo changes, Database::discardWorkspace() might be called.
Workspaces might also be consolidated or discarded by calling the workspace utility, supposed, the workspace is available exclusive, i.e. not being used by any user.