int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter);
此函数用于完成使用 sqlite3changeset_start() 分配的迭代器。
此函数仅应在使用 sqlite3changeset_start() 函数创建的迭代器上调用。如果应用程序使用由 sqlite3changeset_apply() 传递给冲突处理程序的迭代器调用此函数,则会立即返回 SQLITE_MISUSE,并且调用无效。
如果在调用 sqlite3changeset_xxx() 函数时遇到错误(例如,sqlite3changeset_next() 中的 SQLITE_CORRUPT 或 sqlite3changeset_new() 中的 SQLITE_NOMEM),则此函数会返回与该错误对应的错误代码。否则,将返回 SQLITE_OK。这是为了允许以下模式(伪代码)
sqlite3changeset_start(); while( SQLITE_ROW==sqlite3changeset_next() ){ // Do something with change. } rc = sqlite3changeset_finalize(); if( rc!=SQLITE_OK ){ // An error has occurred }