Spec-Zone.ru › SQLite

Получение текущей операции из итератора изменений

Аргумент pIter, переданный в эту функцию, может быть итератором, переданным обработчику конфликтов функцией sqlite3changeset_apply(), или итератором, созданным функцией sqlite3changeset_start(). В последнем случае, последнее вызов функции sqlite3changeset_next() должно вернуть значение SQLITE_ROW. Если это не так, эта функция возвращает SQLITE_MISUSE.

Аргументы pOp, pnCol и pzTab не должны быть NULL. По возвращении три значения устанавливаются через эти указатели:

*pOp устанавливается в одно из значений SQLITE_INSERT, SQLITE_DELETE или SQLITE_UPDATE в зависимости от типа изменения, к которому в данный момент указывает итератор;

*pnCol устанавливается в количество столбцов в таблице, затронутых изменением; и

*pzTab устанавливается на указатель на строку UTF-8 с завершающим нулём, содержащую имя таблицы, затронутой текущим изменением. Буфер остается действительным до тех пор, пока не будет вызвано sqlite3changeset_next() для итератора или пока не вернётся функция обработчика конфликтов.

Если pbIndirect не равен NULL, то *pbIndirect устанавливается в true (1), если изменение является косвенным, или в false (0) в противном случае. С описанием прямых и косвенных изменений вы можете ознакомиться в документации к sqlite3session_indirect().

Если ошибка не возникает, возвращается SQLITE_OK. Если возникает ошибка, возвращается код ошибки SQLite. В этом случае значения выходных переменных нельзя считать достоверными.

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

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

Spec-Zone.ru

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