Small. Fast. Reliable.
Choose any three.

会话模块C接口

从变更组获取复合变更集

int sqlite3changegroup_output(
  sqlite3_changegroup *,
  int * pnData,/ * OUT:输出缓冲区的大小(以字节为单位)* /
  void ** ppData / * OUT:指向输出缓冲区的指针* /
);

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

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

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

另请参见 对象常量函数的列表