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 }