![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Различия между patchset и changeset в том, что: patchset blob может использоваться с актуальными версиями всех функций
sqlite3changeset_xxx API кроме sqlite3changeset_invert(), которая вернет
SQLITE_CORRUPT. Точно так же попытка использовать patchset blob
со старыми версиями sqlite3changeset_xxx API также вызывает
ошибку SQLITE_CORRUPT. Поскольку поля "old.*" непервичного ключа
опущены, никакие конфликты SQLITE_CHANGESET_DATA нельзя обнаружить или
сообщить, если patchset передается к sqlite3changeset_apply() API.
Другой конфликт работает таким же образом, как с changeset. Изменения в patchset упорядочены таким же образом, как в changeset,
произведенном sqlite3session_changeset() (то есть, все изменения для
единственной таблицы группируются, таблицы появляются в порядке, в котором
они были присоединены к объекту сессии).
Choose any three.
Session Module C Interface
Произведите Patchset от объекта сессии
int sqlite3session_patchset
(
sqlite3_session *pSession, /* Session object */
int *pnPatchset, /* OUT: Size of buffer at *ppPatchset */
void **ppPatchset /* OUT: Buffer containing patchset */
);