![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Аргументом pIter, переданным к этой функции, может быть iterator,
переданный обработчику конфликта
sqlite3changeset_apply(), или iterator, созданный
sqlite3changeset_start().
В последнем случае новое обращение к
sqlite3changeset_next()
должно возвратить SQLITE_ROW. Кроме того, это можно вызвать только, если тип
изменения, на которое в настоящее время указывает iterator, является
SQLITE_DELETE или
SQLITE_UPDATE. Иначе эта функция
возвращает SQLITE_MISUSE и ставит
*ppValue = NULL. iVal должен быть больше или равным 0, но меньше, чем количество колонок в
таблице, затронутой текущим изменением. Иначе возвращен
SQLITE_RANGE и *ppValue = NULL. Если успешно, эта функция устанавливает указатель *ppValue
на защищенный объект sqlite3_value, содержащий значение iVal
от вектора первоначальных значений строки, сохраненных как часть изменения
UPDATE или DELETE и вернет SQLITE_OK.
Название функции происходит от того, что это подобно столбцам "old.*",
доступным, чтобы обновить или удалить триггеры Если некоторая другая ошибка происходит (например, условие OOM), код
ошибки SQLite возвращен, и *ppValue установлен в NULL.
Choose any three.
Session Module C Interface
Получите значения old.* из Changeset Iterator
int sqlite3changeset_old(
sqlite3_changeset_iter *pIter, /* Changeset iterator */
int iVal, /* Column number */
sqlite3_value **ppValue /* OUT: Old value (or NULL pointer) */
);