int sqlite3changegroup_schema(sqlite3_changegroup*, sqlite3*, const char *zDb);
Этот метод может использоваться, чтобы произвольно провести в жизнь правило, что changeset, добавленный к дескриптору changegroup, должен соответствовать схеме базы данных zDb ("main", "temp" или название приложенной базы данных). Если вызывают sqlite3changegroup_add(), чтобы добавить changeset, который несовместим с формируемой схемой, SQLITE_SCHEMA возвращен, и объект changegroup оставляют в неопределенном состоянии.
changeset схему считают совместимой со схемой базы данных таким же образом, что касается sqlite3changeset_apply(). Определенно, для каждой таблицы в changeset там существует таблица базы данных с:
У вывода объекта changegroup всегда есть та же самая схема, как у базы данных при использовании этой функции. В случаях, где у changeset, переданных к sqlite3changegroup_add(), есть меньше колонок, чем у соответствующей таблицы в схеме базы данных, они заполнены с использованием значений столбцов по умолчанию из схемы базы данных. Это позволяет объединение changeset, у которых есть различные числа колонок для единственной таблицы в changegroup, при условии, что они в других отношениях совместимы.