Small. Fast. Reliable.
Choose any three.

## SQLite C Interface

## Database Snapshot

>     typedef struct sqlite3_snapshot {
>       unsigned char hidden[48];
>     } sqlite3_snapshot;

An instance of the snapshot object records the state of a WAL mode database for some specific point in history.

In WAL mode, multiple database connections that are open on the same database file can each be reading a different historical version of the database file. When a database connection begins a read transaction, that connection sees an unchanging copy of the database as it existed for the point in time when the transaction first started. Subsequent changes to the database from other connections are not seen by the reader until a new read transaction is started.

The sqlite3_snapshot object records state information about an historical version of the database file so that it is possible to later open a new read transaction that sees that historical version of the database rather than the most recent version.

Constructor: sqlite3_snapshot_get()

Destructor: sqlite3_snapshot_free()

Methods: sqlite3_snapshot_cmp(), sqlite3_snapshot_open(), sqlite3_snapshot_recover()

See also lists of Objects, Constants, and Functions.