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

Session 模組 C 介面

衝突處理常數

#define SQLITE_CHANGESET_OMIT       0
#define SQLITE_CHANGESET_REPLACE    1
#define SQLITE_CHANGESET_ABORT      2

衝突處理回呼函式必須傳回下列三個值之一。

SQLITE_CHANGESET_OMIT
如果衝突處理回呼函式傳回此值,則不會執行任何特殊動作。造成衝突的變更不會套用。Session 模組會繼續套用變更組中的下一個變更。

SQLITE_CHANGESET_REPLACE
只有當衝突處理回呼函式的第二個參數為 SQLITE_CHANGESET_DATA 或 SQLITE_CHANGESET_CONFLICT 時,才能傳回此值。如果不是這種情況,則會取消套用迄今為止的所有變更,而呼叫 sqlite3changeset_apply() 會傳回 SQLITE_MISUSE。

如果 SQLITE_CHANGESET_DATA 衝突處理回呼函式傳回 CHANGESET_REPLACE,則會更新或刪除衝突列,具體取決於變更類型。

如果 SQLITE_CHANGESET_CONFLICT 衝突處理回呼函式傳回 CHANGESET_REPLACE,則會從資料庫中移除衝突列,並再次嘗試套用變更。如果第二次嘗試失敗,則會在繼續之前將原始列復原至資料庫。

SQLITE_CHANGESET_ABORT
如果傳回此值,則會取消套用迄今為止的所有變更,而呼叫 sqlite3changeset_apply() 會傳回 SQLITE_ABORT。

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