summaryrefslogtreecommitdiff
path: root/static/netbsd/man3/sqlite3session_patchset.3
blob: 73cf37da77a4aa4571c96b20056b578a2e54c3ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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