int sqlite3changegroup_output( sqlite3_changegroup*, int *pnData, /* OUT: Size of output buffer in bytes */ void **ppData /* OUT: Pointer to output buffer */ );
Получите буфер, содержащий changeset (или patchset), представляющий текущее содержание changegroup. Если входы к changegroup были самостоятельно changeset, вывод это changeset. Или, если входы были patchsets, выводом будет также patchset.
Как с выводом sqlite3session_changeset() и sqlite3session_patchset(), все изменения, связанные с единственной таблицей, группируются в выводе этой функции. Таблицы появляются в том же самом порядке, как у самого первого changeset, добавленного к changegroup. Если вторые или последующие changeset, добавленные к changegroup, содержат изменения для таблиц, которые не появляются в первом changeset, они приложены в конце вывода changeset, снова в порядке, в котором с ними сначала сталкиваются.
Если ошибка происходит, код ошибки SQLite возвращен, и выходные переменные (*pnData) и (*ppData) установлены в 0. Иначе SQLITE_OK возвращен, и выходные переменные установлены в размер и указатель на буфер вывода, соответственно. В этом случае ответственность вызвавшего освободить буфер, используя sqlite3_free().