int sqlite3changeset_finalize(sqlite3_changeset_iter * pIter);
此函数用于完成分配有sqlite3changeset_start()的迭代器 。
仅应在使用sqlite3changeset_start()函数创建的迭代器上调用此 函数。如果应用程序通过sqlite3changeset_apply()传递给冲突处理程序的迭代器调用此函数 ,则SQLITE_MISUSE将立即返回,且该调用无效。
如果已到sqlite3changeset_xxx()函数的调用(例如一个内遇到一个错误SQLITE_CORRUPT在sqlite3changeset_next()或 SQLITE_NOMEM在sqlite3changeset_new() ),则对应于该错误的错误代码由该函数返回。否则,返回SQLITE_OK。这是为了允许以下模式(伪代码):
sqlite3changeset_start(); while(SQLITE_ROW == sqlite3changeset_next()){ //做些改变。 } rc = sqlite3changeset_finalize(); if(rc!= SQLITE_OK){ // 发生了错误 }