.Dd $Mdocdate$
.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 12276.
.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
