What is the locking mechanism employed to ensure users do not modify each others data?
This depends, in part, on what interface the application is using. When coming through the SRDE, concurrent transactions will be automatically executed around each SQL statement to guarantee atomicity. Certain application interfaces support disabling the standard ODBC autocommit feature, where all SQL/ODBC calls are in a transaction until the user executes a commit or rollback, at which time a new transaction is automatically started. For applications using an interface that does not get processed by the SRDE (for example, the Btrieve API, ActiveX, etc.), transactions can be explicitly implemented by the application. If not, the MicroKernel enforces passive concurrency to guarantee that users don’t unknowingly overwrite each other’s changes.