The command history gives information regarding the temporal relation between commands that have been issued by various users of the system. It also contains information about what objects are affected by each command.
For each session a session object is created. The versions of this session object represent the different commands which have been issued by the user. We consider two kinds of commands. The commands which have an immediate effect on the database, such as a store command, are called database commands. The other commands, called workspace commands, have an effect on versions of objects which are in the workspace but not directly on the database, such as the updating of a transient version. The commands in one session constitute a linear temporal order. For other users it is interesting to know what changes have been done to the database during their own sessions. Therefore we also maintain information about the temporal order between database commands in different sessions.