.Dd January 24, 2024
.Dt SQLITE3CHANGESET_CONCAT 3
.Os
.Sh NAME
.Nm sqlite3changeset_concat
.Nd concatenate two changeset objects
.Sh SYNOPSIS
.In sqlite3.h
.Ft int
.Fo sqlite3changeset_concat
.Fa "int nA"
.Fa "void *pA"
.Fa "int nB"
.Fa "void *pB"
.Fa "int *pnOut"
.Fa "void **ppOut"
.Fc
.Sh DESCRIPTION
This function is used to concatenate two changesets, A and B, into
a single changeset.
The result is a changeset equivalent to applying changeset A followed
by changeset B.
.Pp
This function combines the two input changesets using an sqlite3_changegroup
object.
Calling it produces similar results as the following code fragment:
.Bd -literal
sqlite3_changegroup *pGrp; rc = sqlite3_changegroup_new(&pGrp); if(
rc==SQLITE_OK ) rc = sqlite3changegroup_add(pGrp, nA, pA); if( rc==SQLITE_OK
) rc = sqlite3changegroup_add(pGrp, nB, pB); if( rc==SQLITE_OK ){ rc
= sqlite3changegroup_output(pGrp, pnOut, ppOut); }else{ *ppOut = 0;
*pnOut = 0; }
.Ed
.Pp
Refer to the sqlite3_changegroup documentation below for details.
.Sh IMPLEMENTATION NOTES
These declarations were extracted from the
interface documentation at line 11774.
.Bd -literal
SQLITE_API int sqlite3changeset_concat(
  int nA,                         /* Number of bytes in buffer pA */
  void *pA,                       /* Pointer to buffer containing changeset A */
  int nB,                         /* Number of bytes in buffer pB */
  void *pB,                       /* Pointer to buffer containing changeset B */
  int *pnOut,                     /* OUT: Number of bytes in output changeset */
  void **ppOut                    /* OUT: Buffer containing output changeset */
);
.Ed
