NAME
sqlite3_snapshot —
Database
Snapshot
SYNOPSIS
typedef struct sqlite3_snapshot { unsigned char hidden[48]; }
sqlite3_snapshot;
DESCRIPTION
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.
The constructor for this object is sqlite3_snapshot_get(). The
sqlite3_snapshot_open() method causes a fresh read transaction to refer to an
historical snapshot (if possible). The destructor for sqlite3_snapshot objects
is sqlite3_snapshot_free().
SEE ALSO
sqlite3(3),
sqlite3_snapshot_free(3),
sqlite3_snapshot_get(3),
sqlite3_snapshot_open(3)