Small. Fast. Reliable.
Choose any three.

会话模块C接口

从会话对象生成补丁集

int sqlite3session_patchset(
  sqlite3_session * pSession,/ *会话对象* /
  int * pnPatchset,/ * OUT:* ppPatchset * /处的缓冲区大小
  无效** ppPatchset / * OUT:包含补丁集的缓冲区* /
);

补丁集和变更集之间的区别在于:

补丁集blob可以与所有sqlite3changeset_xxx API函数的最新版本一起使用,但sqlite3changeset_invert()除外,如果传递了补丁集,该函数会返回SQLITE_CORRUPT。同样,尝试对旧版本的sqlite3changeset_xxx API使用补丁集Blob也会引发SQLITE_CORRUPT错误。

由于省略了非主键“ old。*”字段,因此,如果将补丁集传递到sqlite3changeset_apply()API,则不会检测到或报告任何SQLITE_CHANGESET_DATA冲突。其他冲突类型的工作方式与变更集的工作方式相同。

补丁集内的更改的排序方式与sqlite3session_changeset()函数生成的变更集的排序方式相同(即,单个表的所有更改都分组在一起,表以将它们附加到会话对象的顺序显示)。

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