Documentation Source Text

Artifact Content

Artifact e433abdf390200167971f14693b3a3473242f5fa:

<title>SQLite Is Transactional</title>

<h2>SQLite is Transactional</h2>

<p>A transactional database is one in which all changes and queries
appear to be
Atomic, Consistent, Isolated, and Durable
([ | ACID]).
SQLite implements 
[ | serializable]
transactions that are atomic, consistent, isolated, and durable,
even if the transaction is interrupted by a program crash, an
operating system crash, or a power failure to the computer.

We here restate and amplify the previous sentence for emphasis:
All changes within a single transaction in SQLite either occur
completely or not at all, even if the act of writing the change
out to the disk is interrupted by
<li>a program crash,</li>
<li>an operating system crash, or</li>
<li>a power failure.</li>

The claim of the previous paragraph is extensively checked in the
SQLite regression test suite using a special test harness that 
simulates the effects on a database file of operating system crashes 
and power failures.

<a href="atomiccommit.html">Additional information</a>