To handle cleanup when users abort their applications without disconnecting from Mimer SQL, the Database Server is configured to interact with the Operating System on the server machine. When a user application is interrupted without a proper disconnect, the Operating System will send a signal to the Database Server. When the Database Server receives this signal it performs a cleanup for that application. The Mimer SQL Server performs the following at a cleanup:
- First it cancels any database requests from the application that are currently being executed.
- Then it closes all tables that the application held open.
- Finally all uncommitted transactions for that application are rolled back.
If a remote client is switched off without disconnecting from the Database Server, Mimer SQL makes use of the KEEPALIVE functionality in TCP/IP to be notified that a cleanup operation is required. In such cases it depends on the value of the KEEPALIVE time interval parameter on the server machine, as to how soon Mimer SQL will be notified to perform the cleanup. Note that since Mimer SQL uses optimistic concurrency control, no locks are held during this time.
In competing products the problems caused by database locks are considerable. Connections between a client and server are lost for a large number of reasons, not just because the client machine is turned off. In a locking system, other users requiring the lock held by the abnormally terminating client will be blocked until the situation is resolved, in some cases this can require manual intervention by a DBA. Mimer SQL does not suffer from the problems caused by locks.
Upright Database Technology AB
Voice: +46 18 780 92 00
Fax: +46 18 780 92 40