会话模块 C 接口

连接两个变更集对象

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 */
);

此函数用于将两个变更集 A 和 B 连接成一个变更集。结果是一个变更集,相当于先应用变更集 A,然后再应用变更集 B。

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

  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 文档。

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