Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Снимок базы данных

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

Экземпляр объекта снимка пишет состояние БД WAL-режима для некоторого отдельного момента в истории.

В режиме WAL несколько соединений с базой данных, которые открыты на том же самом файле базы данных, могут каждый читать различную историческую версию файла базы данных. Когда соединение с базой данных начинает транзакцию, та связь видит неизменную копию базы данных, поскольку это существовало для момента времени когда транзакция начата. Последующие изменения базы данных от других связей не замечены читателем, пока новая транзакция не начата.

Объект sqlite3_snapshot пишет информацию об исторической версии файла базы данных так, чтобы было возможно позже открыть новую транзакцию, которая видит историческую версию базы данных, а не новую.

1 конструктор, использующий этот объект: sqlite3_snapshot_get()

1 деструктор, использующий этот объект: sqlite3_snapshot_free()

3 метода используют этот объект: sqlite3_snapshot_cmp(), sqlite3_snapshot_open(), sqlite3_snapshot_recover()