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 */ );
Эта функция используется, чтобы связать два changeset A и B в единственный changeset. Результат это changeset, эквивалентный применению changeset A, сопровождаемого changeset B.
Эта функция объединяет два входных changeset с использованием объекта sqlite3_changegroup. Запрос его приводит к подобным результатам как к следующему кодовому фрагменту:
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; }
Обратитесь к документации на sqlite3_changegroup ниже для деталей.