UltraLite maintains state information along with the data in the database. UltraLite tracks and stores state information so it can manage:
Concurrent connections, so UltraLite can share resources as required. See Concurrency in UltraLite.
Synchronization progress counts, to ensure that synchronization occurs successfully. See Built-in synchronization features for UltraLite.
Row state, to maintain data integrity by tracking how data has changed between synchronizations. See UltraLite row states.
Transactions, to determine when and how data gets committed. In UltraLite, a transaction is processed in its entirety or not at all. See UltraLite transaction processing and isolation levels.
Recovery and backup information, to protect data against operating system crashes, and end-user actions such as removing storage cards, or device resets while UltraLite is running. See Backups and recoveries in UltraLite.
Concurrency in UltraLite
UltraLite row states
Backups and recoveries in UltraLite
UltraLite transaction processing and isolation levels