Spec-Zone.ru › SQLite

Запись-вперед журнал (WAL) Обработчик подтверждения

void *sqlite3_wal_hook(
  sqlite3*,
  int(*)(void *,sqlite3*,const char*,int),
  void*
);

Функция sqlite3_wal_hook() используется для регистрации обратного вызова, который вызывается каждый раз, когда данные подтверждаются в базе данных в режиме WAL.

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

Первый параметр, передаваемый функции обратного вызова при её вызове, представляет собой копию третьего параметра, переданного функции sqlite3_wal_hook() при регистрации обратного вызова. Второй параметр — это копия дескриптора базы данных. Третий параметр — имя базы данных, в которую были записаны данные — либо "main", либо имя присоединённой базы данных ATTACH. Четвёртый параметр — количество страниц в файле журнала записи вперёд, включая те, которые были только что подтверждены.

Функция обратного вызова обычно должна возвращать SQLITE_OK. Если возвращается код ошибки, эта ошибка будет распространена вверх по коду SQLite, что заставит оператор, вызвавший обратный вызов, сообщить об ошибке, хотя подтверждение всё же будет выполнено. Если обратный вызов возвращает SQLITE_ROW или SQLITE_DONE, или если он возвращает значение, которое не соответствует какому-либо допустимому коду ошибки SQLite, результаты будут неопределёнными.

В один момент времени для одного дескриптора базы данных может быть зарегистрирован только один обратный вызов журнала записи вперёд. Вызов sqlite3_wal_hook() заменяет любой ранее зарегистрированный обратный вызов журнала записи вперёд. Возвращаемое значение — копия третьего параметра из предыдущего вызова, если таковой был, или 0. Обратите внимание, что интерфейс sqlite3_wal_autocheckpoint() и pragma wal_autocheckpoint оба вызывают sqlite3_wal_hook() и перезапишут любые предыдущие настройки sqlite3_wal_hook().

См. также списки Объектов, Констант и Функций.

SQLite is in the Public Domain.
https://sqlite.org/c3ref/wal_hook.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API