Updated: 2022/Sep/29
Please read Privacy Policy. It's for your privacy.
SQLITE3CHANGESET_START(3) Library Functions Manual SQLITE3CHANGESET_START(3) NAME sqlite3changeset_start, sqlite3changeset_start_v2 - create an iterator to traverse a changeset SYNOPSIS #include <sqlite3.h> int sqlite3changeset_start(sqlite3_changeset_iter **pp, int nChangeset, void *pChangeset); int sqlite3changeset_start_v2(sqlite3_changeset_iter **pp, int nChangeset, void *pChangeset, int flags); DESCRIPTION Create an iterator used to iterate through the contents of a changeset. If successful, *pp is set to point to the iterator handle and SQLITE_OK is returned. Otherwise, if an error occurs, *pp is set to zero and an SQLite error code is returned. The following functions can be used to advance and query a changeset iterator created by this function: ⊕ sqlite3changeset_next() ⊕ sqlite3changeset_op() ⊕ sqlite3changeset_new() ⊕ sqlite3changeset_old() It is the responsibility of the caller to eventually destroy the iterator by passing it to sqlite3changeset_finalize(). The buffer containing the changeset (pChangeset) must remain valid until after the iterator is destroyed. Assuming the changeset blob was created by one of the sqlite3session_changeset(), sqlite3changeset_concat() or sqlite3changeset_invert() functions, all changes within the changeset that apply to a single table are grouped together. This means that when an application iterates through a changeset using an iterator created by this function, all changes that relate to a single table are visited consecutively. There is no chance that the iterator will visit a change the applies to table X, then one for table Y, and then later on visit another change for table X. The behavior of sqlite3changeset_start_v2() and its streaming equivalent may be modified by passing a combination of supported flags as the 4th parameter. Note that the sqlite3changeset_start_v2() API is still experimental and therefore subject to change. IMPLEMENTATION NOTES These declarations were extracted from the interface documentation at line 11306. SQLITE_API int sqlite3changeset_start( sqlite3_changeset_iter **pp, /* OUT: New changeset iterator handle */ int nChangeset, /* Size of changeset blob in bytes */ void *pChangeset /* Pointer to blob containing changeset */ ); SQLITE_API int sqlite3changeset_start_v2( sqlite3_changeset_iter **pp, /* OUT: New changeset iterator handle */ int nChangeset, /* Size of changeset blob in bytes */ void *pChangeset, /* Pointer to blob containing changeset */ int flags /* SESSION_CHANGESETSTART_* flags */ ); SEE ALSO sqlite3changeset_concat(3), sqlite3changeset_finalize(3), sqlite3changeset_invert(3), sqlite3changeset_new(3), sqlite3changeset_next(3), sqlite3changeset_old(3), sqlite3changeset_op(3), sqlite3session_changeset(3), SQLITE_CHANGESETSTART_INVERT(3) NetBSD 10.99 August 24, 2023 NetBSD 10.99