summaryrefslogtreecommitdiff
path: root/static/netbsd/man3/sqlite3session_patchset.3
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man3/sqlite3session_patchset.3')
-rw-r--r--static/netbsd/man3/sqlite3session_patchset.350
1 files changed, 50 insertions, 0 deletions
diff --git a/static/netbsd/man3/sqlite3session_patchset.3 b/static/netbsd/man3/sqlite3session_patchset.3
new file mode 100644
index 00000000..73cf37da
--- /dev/null
+++ b/static/netbsd/man3/sqlite3session_patchset.3
@@ -0,0 +1,50 @@
+.Dd January 24, 2024
+.Dt SQLITE3SESSION_PATCHSET 3
+.Os
+.Sh NAME
+.Nm sqlite3session_patchset
+.Nd generate a patchset from a session object
+.Sh SYNOPSIS
+.In sqlite3.h
+.Ft int
+.Fo sqlite3session_patchset
+.Fa "sqlite3_session *pSession"
+.Fa "int *pnPatchset"
+.Fa "void **ppPatchset"
+.Fc
+.Sh DESCRIPTION
+The differences between a patchset and a changeset are that:
+.Bl -bullet
+.It
+DELETE records consist of the primary key fields only.
+The original values of other fields are omitted.
+.It
+The original values of any modified fields are omitted from UPDATE
+records.
+.El
+.Pp
+A patchset blob may be used with up to date versions of all sqlite3changeset_xxx
+API functions except for sqlite3changeset_invert(), which returns SQLITE_CORRUPT
+if it is passed a patchset.
+Similarly, attempting to use a patchset blob with old versions of the
+sqlite3changeset_xxx APIs also provokes an SQLITE_CORRUPT error.
+.Pp
+Because the non-primary key "old.*" fields are omitted, no SQLITE_CHANGESET_DATA
+conflicts can be detected or reported if a patchset is passed to the
+sqlite3changeset_apply() API.
+Other conflict types work in the same way as for changesets.
+.Pp
+Changes within a patchset are ordered in the same way as for changesets
+generated by the sqlite3session_changeset() function (i.e. all changes
+for a single table are grouped together, tables appear in the order
+in which they were attached to the session object).
+.Sh IMPLEMENTATION NOTES
+These declarations were extracted from the
+interface documentation at line 11375.
+.Bd -literal
+SQLITE_API int sqlite3session_patchset(
+ sqlite3_session *pSession, /* Session object */
+ int *pnPatchset, /* OUT: Size of buffer at *ppPatchset */
+ void **ppPatchset /* OUT: Buffer containing patchset */
+);
+.Ed