Small. Fast. Reliable.
Choose any three.

Session Module C Interface

Инвертируйте Changeset

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. Если это не так, результаты не определены.