![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
pIter аргументом, переданным к этой функции, может быть iterator,
переданный обработчику конфликта
sqlite3changeset_apply(), или итератор, созданный
sqlite3changeset_start().
В последнем случае новое обращение к
sqlite3changeset_next()
должно быть, возвратило SQLITE_ROW. Кроме того, это можно вызвать только
если тип изменения, на которое в настоящее время указывает iterator, является
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.*", доступной, чтобы обновить или удалить триггеры. Если некоторая другая ошибка происходит (например, условие OOM), код
ошибки SQLite возвращен, и *ppValue установлен в NULL.
Choose any three.
Session Module C Interface
Получите значения new.* из Changeset Iterator
int sqlite3changeset_new(
sqlite3_changeset_iter *pIter, /* Changeset iterator */
int iVal, /* Column number */
sqlite3_value **ppValue /* OUT: New value (or NULL pointer) */
);