Small. Fast. Reliable.
Choose any three.

会话模块C接口

冲突处理程序返回的常量

#定义SQLITE_CHANGESET_OMIT 0
#定义SQLITE_CHANGESET_REPLACE 1
#定义SQLITE_CHANGESET_ABORT 2

冲突处理程序回调必须返回以下三个值之一。

SQLITE_CHANGESET_OMIT
如果冲突处理程序返回此值,则不会采取任何特殊操作。导致冲突的更改不适用。会话模块继续更改集中的下一个更改。

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。

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