.Dd January 24, 2024 .Dt SQLITE3CHANGESET_NEXT 3 .Os .Sh NAME .Nm sqlite3changeset_next .Nd advance a changeset iterator .Sh SYNOPSIS .In sqlite3.h .Ft int .Fo sqlite3changeset_next .Fa "sqlite3_changeset_iter *pIter" .Fc .Sh DESCRIPTION This function may only be used with iterators created by the function .Fn sqlite3changeset_start . If it is called on an iterator passed to a conflict-handler callback by .Fn sqlite3changeset_apply , SQLITE_MISUSE is returned and the call has no effect. .Pp Immediately after an iterator is created by sqlite3changeset_start(), it does not point to any change in the changeset. Assuming the changeset is not empty, the first call to this function advances the iterator to point to the first change in the changeset. Each subsequent call advances the iterator to point to the next change in the changeset (if any). If no error occurs and the iterator points to a valid change after a call to sqlite3changeset_next() has advanced it, SQLITE_ROW is returned. Otherwise, if all changes in the changeset have already been visited, SQLITE_DONE is returned. .Pp If an error occurs, an SQLite error code is returned. Possible error codes include SQLITE_CORRUPT (if the changeset buffer is corrupt) or SQLITE_NOMEM. .Sh IMPLEMENTATION NOTES These declarations were extracted from the interface documentation at line 11502. .Bd -literal SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter); .Ed .Sh SEE ALSO .Xr sqlite3changeset_apply 3 , .Xr sqlite3changeset_start 3