Spec-Zone.ru › SQLite

Получение старых значений из итератора изменений

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

Аргумент iVal должен быть больше или равен 0 и меньше числа столбцов в таблице, затронутой текущим изменением. В противном случае возвращается SQLITE_RANGE, а *ppValue устанавливается в NULL.

При успешном выполнении эта функция устанавливает *ppValue в указатель на защищённый объект sqlite3_value, содержащий iVal-ый элемент из вектора исходных значений строки, хранящихся в рамках изменения UPDATE или DELETE, и возвращает SQLITE_OK. Название функции происходит от того, что она аналогична столбцам "old.*", доступным для обновлений или триггеров удаления.

Если произойдёт какая-либо другая ошибка (например, ошибка исчерпания памяти), возвращается код ошибки SQLite, а *ppValue устанавливается в NULL.

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

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

Spec-Zone.ru

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