.Dd January 24, 2024 .Dt SQLITE3CHANGESET_FINALIZE 3 .Os .Sh NAME .Nm sqlite3changeset_finalize .Nd finalize a changeset iterator .Sh SYNOPSIS .In sqlite3.h .Ft int .Fo sqlite3changeset_finalize .Fa "sqlite3_changeset_iter *pIter" .Fc .Sh DESCRIPTION This function is used to finalize an iterator allocated with .Fn sqlite3changeset_start . This function should only be called on iterators created using the .Fn sqlite3changeset_start function. If an application calls this function with an iterator passed to a conflict-handler by .Fn sqlite3changeset_apply , SQLITE_MISUSE is immediately returned and the call has no effect. .Pp If an error was encountered within a call to an sqlite3changeset_xxx() function (for example an SQLITE_CORRUPT in .Fn sqlite3changeset_next or an SQLITE_NOMEM in .Fn sqlite3changeset_new ) then an error code corresponding to that error is returned by this function. Otherwise, SQLITE_OK is returned. This is to allow the following pattern (pseudo-code): .Bd -literal sqlite3changeset_start(); while( SQLITE_ROW==sqlite3changeset_next() ){ // Do something with change. } rc = sqlite3changeset_finalize(); if( rc!=SQLITE_OK ){ // An error has occurred } .Ed .Pp .Sh IMPLEMENTATION NOTES These declarations were extracted from the interface documentation at line 11709. .Bd -literal SQLITE_API int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter); .Ed .Sh SEE ALSO .Xr sqlite3changeset_apply 3 , .Xr sqlite3changeset_new 3 , .Xr sqlite3changeset_next 3 , .Xr sqlite3changeset_start 3 , .Xr SQLITE_OK 3