UltraLite concurrency

UltraLite automatically uses the following methods to manage concurrent database accesses:

  • Multiple UltraLite database access   A single application can open connections to multiple databases. UltraLite Java edition does not support simultaneous access.

  • Multiple applications   An UltraLite or UltraLite Java edition database can only be opened by one process at a time.

  • Multiple threads   UltraLite supports multi-threaded applications. A single application can be written to use multiple threads, each of which can connect to the same or different databases.

  • Multiple transactions/requests   Each connection can have a single transaction in progress at one time. Transactions can consist of a single request or multiple requests. Data modifications made during a transaction are not made permanent in the database until the transaction is committed. Either all data modifications made in a transaction are committed, or all are rolled back.

  • Synchronization   During upload and download, read-write access to the database is permitted. However, if an application changes a row that the download then attempts to change, the download fails and rolls back. Use the Disable Concurrency synchronization parameter to disable access to data during synchronization.

    If synchronization fails, UltraLite supports resumable downloads on all platforms.

 See also