在线文档教程
Sqlite

Obtain Conflicting Row Values From A Changeset Iterator

从Changeset Iterator获取冲突的行值

int sqlite3changeset_conflict( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int iVal, /* Column number */ sqlite3_value **ppValue /* OUT: Value from conflicting row */

此函数只能用于通过sqlite3changeset_apply()与SQLITE_CHANGESET_DATA或SQLITE_CHANGESET_CONFLICT传递给冲突处理程序回调的迭代器对象。如果在任何其他迭代器上调用此函数,则返回SQLITE_MISUSE并将* ppValue设置为NULL。

参数iVal必须大于或等于0,并小于受当前更改影响的表中的列数。否则,返回SQLITE_RANGE并将* ppValue设置为NULL。

如果成功,此函数将* ppValue设置为指向受保护的sqlite3_value对象,该对象包含与当前冲突处理程序回调关联的“冲突行”中的iVal值,并返回SQLITE_OK。

如果发生其他错误(例如OOM条件),则返回SQLite错误代码并将* ppValue设置为NULL。