Получение новых значений из итератора изменений
Аргумент pIter, переданный этой функции, может быть итератором, переданным обработчику конфликтов функцией sqlite3changeset_apply(), или итератором, созданным функцией sqlite3changeset_start(). В последнем случае, последнее вызов функции sqlite3changeset_next() должен был вернуть SQLITE_ROW. Кроме того, функция может быть вызвана только в том случае, если тип изменения, на который в данный момент указывает итератор, равен SQLITE_UPDATE или SQLITE_INSERT. В противном случае, функция возвращает SQLITE_MISUSE и устанавливает *ppValue в значение NULL.
Аргумент iVal должен быть больше или равен 0 и меньше количества столбцов в таблице, затронутой текущим изменением. В противном случае возвращается SQLITE_RANGE, и *ppValue устанавливается в NULL.
Если функция выполняется успешно, она устанавливает *ppValue в указатель на защищённый объект sqlite3_value, содержащий iVal-й элемент из вектора новых значений строки, сохранённых в рамках изменения UPDATE или INSERT, и возвращает SQLITE_OK. Если изменение является UPDATE и не включает новое значение для запрошенного столбца, *ppValue устанавливается в NULL, и возвращается SQLITE_OK. Название функции происходит от сходства с колонками "new.*", доступными триггерам обновления или удаления.
Если возникает другая ошибка (например, условие недостатка памяти), возвращается код ошибки SQLite, а *ppValue устанавливается в NULL.
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/session/sqlite3changeset_new.html