Добавление схемы в группу изменений
int sqlite3changegroup_schema(sqlite3_changegroup*, sqlite3*, const char *zDb);
Этот метод может быть использован для необязательного применения правила, что изменения, добавленные в группу изменений, должны соответствовать схеме базы данных zDb ("main", "temp" или имени подключенной базы данных). Если sqlite3changegroup_add() используется для добавления изменения, несовместимого с конфигурированной схемой, возвращается SQLITE_SCHEMA, и объект группы изменений остается в неопределённом состоянии.
Схема изменения считается совместимой со схемой базы данных так же, как и для sqlite3changeset_apply(). В частности, для каждой таблицы в изменении существует таблица в базе данных с:
- Именем, указанным в изменении, и
- по крайней мере, таким же количеством столбцов, как записано в изменении, и
- столбцами первичного ключа в том же порядке, что и в изменении.
Вывод объекта группы изменений всегда имеет ту же схему, что и база данных, указанная с помощью этой функции. В случаях, когда изменения, переданные в sqlite3changegroup_add(), имеют меньше столбцов, чем соответствующая таблица в схеме базы данных, эти столбцы заполняются значениями по умолчанию из схемы базы данных. Это позволяет комбинировать изменения, имеющие разное количество столбцов для одной таблицы в группе изменений, при условии, что они в остальном совместимы.
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/session/sqlite3changegroup_schema.html