在线文档教程
Sqlite

Obtain A Composite Changeset From A Changegroup

从变更组中获取复合变更集

int sqlite3changegroup_output( sqlite3_changegroup*, int *pnData, /* OUT: Size of output buffer in bytes */ void **ppData /* OUT: Pointer to output buffer */

获取一个包含表示变更组当前内容的变更集(或补丁集)的缓冲区。如果变更组的输入本身是变更集,则输出是变更集。或者,如果输入是补丁集,则输出也是补丁集。

与sqlite3session_changeset()和sqlite3session_patchset()函数的输出一样,所有与单个表相关的更改都会在此函数的输出中组合在一起。表的顺序与添加到变更组中的第一个变更集的顺序相同。如果添加到更改组的第二个或更多后续更改集包含未出现在第一个更改集中的表的更改,则它们将按照它们第一次遇到的顺序附加到输出更改集的末尾。

如果发生错误,则返回SQLite错误代码,并将输出变量(* pnData)和(* ppData)设置为0.否则,将返回SQLITE_OK,并将输出变量设置为输出的大小并分别指向输出缓冲区。在这种情况下,调用者有责任通过调用sqlite3_free()来释放缓冲区。