Spec-Zone.ru › SQLite

Добавление схемы в группу изменений

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API