Spec-Zone.ru › SQLite

Создать итератор для обхода изменений

Создайте итератор, используемый для итерирования по содержимому набора изменений. При успехе *pp устанавливается для указания дескриптора итератора и возвращается SQLITE_OK. В противном случае, если произошла ошибка, *pp устанавливается в ноль, и возвращается код ошибки SQLite.

Следующие функции могут быть использованы для продвижения и запроса итератора набора изменений, созданного этой функцией:

  • sqlite3changeset_next()
  • sqlite3changeset_op()
  • sqlite3changeset_new()
  • sqlite3changeset_old()

Ответственность вызывающей стороны — в конечном итоге уничтожить итератор, передав его в sqlite3changeset_finalize(). Буфер, содержащий набор изменений (pChangeset), должен оставаться валидным до тех пор, пока итератор не будет уничтожен.

Предполагая, что BLOB набора изменений был создан одной из функций sqlite3session_changeset(), sqlite3changeset_concat() или sqlite3changeset_invert(), все изменения в наборе изменений, относящиеся к одному таблице, сгруппированы вместе. Это означает, что при итерации приложения через набор изменений с помощью итератора, созданного этой функцией, все изменения, относящиеся к одной таблице, посещаются последовательно. Нет возможности, что итератор посетит изменение, относящееся к таблице X, затем одно для таблицы Y, а затем позже посетит другое изменение для таблицы X.

Поведение sqlite3changeset_start_v2() и его потокового эквивалента может быть изменено путем передачи комбинации поддерживаемых флагов в качестве четвертого параметра.

Обратите внимание, что API sqlite3changeset_start_v2() все еще находится на стадии эксперимента и, следовательно, может быть изменен.

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

SQLite is in the Public Domain.
https://sqlite.org/session/sqlite3changeset_start.html

Spec-Zone.ru

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