RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

Session Module C Interface

Добавьте схему к Changegroup

int sqlite3changegroup_schema(sqlite3_changegroup*, sqlite3*,
                              const char *zDb);

Этот метод может использоваться, чтобы произвольно провести в жизнь правило, что changeset, добавленный к дескриптору changegroup, должен соответствовать схеме базы данных zDb ("main", "temp" или название приложенной базы данных). Если вызывают sqlite3changegroup_add(), чтобы добавить changeset, который несовместим с формируемой схемой, SQLITE_SCHEMA возвращен, и объект changegroup оставляют в неопределенном состоянии.

changeset схему считают совместимой со схемой базы данных таким же образом, что касается sqlite3changeset_apply(). Определенно, для каждой таблицы в changeset там существует таблица базы данных с:

  • Имя, определенное changeset
  • по крайней мере, столько же колонок, сколько зарегистрировано в changeset
  • колонки первичного ключа в том же самом положении, как зарегистрировано в changeset.

У вывода объекта changegroup всегда есть та же самая схема, как у базы данных при использовании этой функции. В случаях, где у changeset, переданных к sqlite3changegroup_add(), есть меньше колонок, чем у соответствующей таблицы в схеме базы данных, они заполнены с использованием значений столбцов по умолчанию из схемы базы данных. Это позволяет объединение changeset, у которых есть различные числа колонок для единственной таблицы в changegroup, при условии, что они в других отношениях совместимы.