Small. Fast. Reliable.
Choose any three.

## Session Module C Interface

## Finalize A Changeset Iterator

>     int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter);

This function is used to finalize an iterator allocated with sqlite3changeset_start().

This function should only be called on iterators created using the sqlite3changeset_start() function. If an application calls this function with an iterator passed to a conflict-handler by sqlite3changeset_apply(), SQLITE_MISUSE is immediately returned and the call has no effect.

If an error was encountered within a call to an sqlite3changeset_xxx() function (for example an SQLITE_CORRUPT in sqlite3changeset_next() or an SQLITE_NOMEM in 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):

      sqlite3changeset_start();
      while( SQLITE_ROW==sqlite3changeset_next() ){
        // Do something with change.
      }
      rc = sqlite3changeset_finalize();
      if( rc!=SQLITE_OK ){
        // An error has occurred
      }

See also lists of Objects, Constants, and Functions.