Spec-Zone.ru › SQLite

Постоянные значения, возвращаемые обработчиком конфликтов

#define SQLITE_CHANGESET_OMIT       0
#define SQLITE_CHANGESET_REPLACE    1
#define SQLITE_CHANGESET_ABORT      2

Обработчик конфликтов должен вернуть одно из следующих трех значений.

SQLITE_CHANGESET_OMIT
Если обработчик конфликтов возвращает это значение, никаких специальных действий не выполняется. Изменение, вызвавшее конфликт, не применяется. Модуль сессий переходит к следующему изменению в наборе изменений.

SQLITE_CHANGESET_REPLACE
Это значение может быть возвращено только в том случае, если второй аргумент обработчика конфликтов был SQLITE_CHANGESET_DATA или SQLITE_CHANGESET_CONFLICT. В противном случае все примененные изменения отменяются, и вызов sqlite3changeset_apply() возвращает SQLITE_MISUSE.

Если CHANGESET_REPLACE возвращается обработчиком конфликтов SQLITE_CHANGESET_DATA, то конфликтная строка либо обновляется, либо удаляется, в зависимости от типа изменения.

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

SQLITE_CHANGESET_ABORT
Если возвращается это значение, все примененные до этого изменения отменяются, и вызов sqlite3changeset_apply() возвращает SQLITE_ABORT.

См. также списки Объектов, Постоянных значений и Функций.

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

Spec-Zone.ru

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