diff options
Diffstat (limited to 'static/netbsd/man3/sqlite3changeset_start.3')
| -rw-r--r-- | static/netbsd/man3/sqlite3changeset_start.3 | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/static/netbsd/man3/sqlite3changeset_start.3 b/static/netbsd/man3/sqlite3changeset_start.3 new file mode 100644 index 00000000..f738b1bc --- /dev/null +++ b/static/netbsd/man3/sqlite3changeset_start.3 @@ -0,0 +1,94 @@ +.Dd January 24, 2024 +.Dt SQLITE3CHANGESET_START 3 +.Os +.Sh NAME +.Nm sqlite3changeset_start , +.Nm sqlite3changeset_start_v2 +.Nd create an iterator to traverse a changeset +.Sh SYNOPSIS +.In sqlite3.h +.Ft int +.Fo sqlite3changeset_start +.Fa "sqlite3_changeset_iter **pp" +.Fa "int nChangeset" +.Fa "void *pChangeset" +.Fc +.Ft int +.Fo sqlite3changeset_start_v2 +.Fa "sqlite3_changeset_iter **pp" +.Fa "int nChangeset" +.Fa "void *pChangeset" +.Fa "int flags" +.Fc +.Sh 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. +.Pp +The following functions can be used to advance and query a changeset +iterator created by this function: +.Bl -bullet +.It +.Fn sqlite3changeset_next +.It +.Fn sqlite3changeset_op +.It +.Fn sqlite3changeset_new +.It +.Fn sqlite3changeset_old +.El +.Pp +It is the responsibility of the caller to eventually destroy the iterator +by passing it to +.Fn sqlite3changeset_finalize . +The buffer containing the changeset (pChangeset) must remain valid +until after the iterator is destroyed. +.Pp +Assuming the changeset blob was created by one of the +.Fn sqlite3session_changeset , +.Fn sqlite3changeset_concat +or +.Fn 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. +.Pp +The behavior of sqlite3changeset_start_v2() and its streaming equivalent +may be modified by passing a combination of supported flags +as the 4th parameter. +.Pp +Note that the sqlite3changeset_start_v2() API is still \fBexperimental\fP +and therefore subject to change. +.Sh IMPLEMENTATION NOTES +These declarations were extracted from the +interface documentation at line 11435. +.Bd -literal +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 */ +); +.Ed +.Sh SEE ALSO +.Xr sqlite3changeset_concat 3 , +.Xr sqlite3changeset_finalize 3 , +.Xr sqlite3changeset_invert 3 , +.Xr sqlite3changeset_new 3 , +.Xr sqlite3changeset_next 3 , +.Xr sqlite3changeset_old 3 , +.Xr sqlite3changeset_op 3 , +.Xr sqlite3session_changeset 3 , +.Xr SQLITE_CHANGESETSTART_INVERT 3 |
