.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