xref: /netbsd-src/external/public-domain/sqlite/man/sqlite3changeset_concat.3 (revision b9988867a8ad969c45a52aa7628bc932ec98d46b)
1.Dd January 24, 2024
2.Dt SQLITE3CHANGESET_CONCAT 3
3.Os
4.Sh NAME
5.Nm sqlite3changeset_concat
6.Nd concatenate two changeset objects
7.Sh SYNOPSIS
8.In sqlite3.h
9.Ft int
10.Fo sqlite3changeset_concat
11.Fa "int nA"
12.Fa "void *pA"
13.Fa "int nB"
14.Fa "void *pB"
15.Fa "int *pnOut"
16.Fa "void **ppOut"
17.Fc
18.Sh DESCRIPTION
19This function is used to concatenate two changesets, A and B, into
20a single changeset.
21The result is a changeset equivalent to applying changeset A followed
22by changeset B.
23.Pp
24This function combines the two input changesets using an sqlite3_changegroup
25object.
26Calling it produces similar results as the following code fragment:
27.Bd -literal
28sqlite3_changegroup *pGrp; rc = sqlite3_changegroup_new(&pGrp); if(
29rc==SQLITE_OK ) rc = sqlite3changegroup_add(pGrp, nA, pA); if( rc==SQLITE_OK
30) rc = sqlite3changegroup_add(pGrp, nB, pB); if( rc==SQLITE_OK ){ rc
31= sqlite3changegroup_output(pGrp, pnOut, ppOut); }else{ *ppOut = 0;
32*pnOut = 0; }
33.Ed
34.Pp
35Refer to the sqlite3_changegroup documentation below for details.
36.Sh IMPLEMENTATION NOTES
37These declarations were extracted from the
38interface documentation at line 11774.
39.Bd -literal
40SQLITE_API int sqlite3changeset_concat(
41  int nA,                         /* Number of bytes in buffer pA */
42  void *pA,                       /* Pointer to buffer containing changeset A */
43  int nB,                         /* Number of bytes in buffer pB */
44  void *pB,                       /* Pointer to buffer containing changeset B */
45  int *pnOut,                     /* OUT: Number of bytes in output changeset */
46  void **ppOut                    /* OUT: Buffer containing output changeset */
47);
48.Ed
49