int sqlite3changeset_next(sqlite3_changeset_iter *pIter);
此函数只能用于由函数 sqlite3changeset_start() 创建的迭代器。如果它被调用在一个由 sqlite3changeset_apply() 传递给冲突处理回调的迭代器上,则会返回 SQLITE_MISUSE,并且调用无效。
在由 sqlite3changeset_start() 创建迭代器之后,它不会指向 changeset 中的任何更改。假设 changeset 不为空,则对该函数的第一次调用会将迭代器向前移动以指向 changeset 中的第一个更改。每次后续调用都会将迭代器向前移动以指向 changeset 中的下一个更改(如果有)。如果未发生错误并且迭代器在调用 sqlite3changeset_next() 将其向前移动后指向有效更改,则返回 SQLITE_ROW。否则,如果 changeset 中的所有更改都已访问,则返回 SQLITE_DONE。
如果发生错误,则返回 SQLite 错误代码。可能的错误代码包括 SQLITE_CORRUPT(如果 changeset 缓冲区已损坏)或 SQLITE_NOMEM。