int sqlite3changeset_invert( int nIn, const void *pIn, /* Input changeset */ int *pnOut, void **ppOut /* OUT: Inverse of input */ );
Эта функция используется, чтобы "инвертировать" объект changeset. Применение перевернутого changeset к базе данных полностью изменяет эффекты применения неперевернутого changeset. Определенно:
Эта функция не изменяет порядок, в котором изменения появляются в changeset. Это просто полностью изменяет смысл каждого отдельного изменения.
Если успешно, указатель на буфер, содержащий перевернутый changeset, сохранен в *ppOut, размер того буфера сохранен в *pnOut, и SQLITE_OK возвращен. Если ошибка происходит, *pnOut и *ppOut обнулены и возвращен код ошибки SQLite.
Обязанность вызвавшего в конечном счете вызвать sqlite3_free() для указателя *ppOut, чтобы освободить распределение буферов после успешного вызова этой функции.
WARNING/TODO: Эта функция в настоящее время предполагает, что вход это действительный changeset. Если это не так, результаты не определены.