小巧。快速。可靠。
三选二。

Session 模块 C 接口

合并两个 Changeset 对象

int sqlite3changeset_concat(
  int nA,                         /* Number of bytes in buffer pA */
  void *pA,                       /* Pointer to buffer containing changeset A */
  int nB,                         /* Number of bytes in buffer pB */
  void *pB,                       /* Pointer to buffer containing changeset B */
  int *pnOut,                     /* OUT: Number of bytes in output changeset */
  void **ppOut                    /* OUT: Buffer containing output changeset */
);

此函数用于将两个 changeset A 和 B 合并成一个 changeset。结果等效于先应用 changeset A,再应用 changeset B。

此函数使用 sqlite3_changegroup 对象组合两个输入的 changeset。调用它产生的结果与以下代码片段类似

  sqlite3_changegroup *pGrp;
  rc = sqlite3_changegroup_new(&pGrp);
  if( rc==SQLITE_OK ) rc = sqlite3changegroup_add(pGrp, nA, pA);
  if( rc==SQLITE_OK ) rc = sqlite3changegroup_add(pGrp, nB, pB);
  if( rc==SQLITE_OK ){
    rc = sqlite3changegroup_output(pGrp, pnOut, ppOut);
  }else{
    *ppOut = 0;
    *pnOut = 0;
  }

有关详细信息,请参阅下面的 sqlite3_changegroup 文档。

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