小巧、快速、可靠。
任選三項。

Session 模組 C 介面

從變更群組取得複合變更集

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() 來最終釋放緩衝區。

另請參閱 物件常數函式 清單。