To ensure data integrity, R:BASE maintains a system of locks that control access to tables and databases.

When a command requires access to a resource, such as a table or database, R:BASE checks to see whether it is already in use. If it is locked, R:BASE checks whether the existing lock(s) prevent the new lock from being applied. If so, R:BASE puts the lock in a waiting queue. When the existing lock is removed, the next lock in the queue can access the table or database. While the command is waiting for a lock, you are prompted to continue waiting or to abort.

Transaction processing locks permit maximum concurrent access to system resources, yet maintain strict data integrity. The locks used by transaction processing replace those used in multi-user mode. Automatic locks are removed at the end of the transaction that required the lock.

Locks are not needed when transaction processing is used in single-user mode.

Transaction Processing Topics
Using Transaction Processing  
Row Locks and Transaction Processing  
Automatic Table and Database Locks  
Setting Exclusive Table Locks  
Displaying Transaction Processing Locks  
Resource Waiting in Transaction Processing  
Recovering from Transaction Processing Errors