Small. Fast. Reliable.
Choose any three.

会话模块C接口

从变更集迭代器获取冲突的行值

int sqlite3changeset_conflict(
  sqlite3_changeset_iter * pIter,/ * Changeset迭代器* /
  int iVal,/ *列号* /
  sqlite3_value ** ppValue / * OUT:冲突行中的值* /
);

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

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

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

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

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