![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Когда SQLite вызывает метод xSync() объекта
sqlite3_io_methods, это использует
комбинацию этих целочисленных значений как второй аргумент. Когда флаг SQLITE_SYNC_DATAONLY используется, это означает, что
синхронизирующая операция должна только сбросить данные на диск.
Информация о Inode не должна сброситься. Если нижние четыре бита
флага равняются SQLITE_SYNC_NORMAL,
это означает использовать нормальный fsync().
Если нижние четыре бита флага равняются SQLITE_SYNC_FULL,
это означает использовать стиль Mac OS X fullsync вместо fsync(). Не путайте флаги SQLITE_SYNC_NORMAL и SQLITE_SYNC_FULL с
с PRAGMA synchronous=NORMAL и
PRAGMA synchronous=FULL.
Синхронные прагмы определяют,
когда обращения к методу xSync VFS происходят, и применяется однородно для
всех платформ. Флаги SQLITE_SYNC_NORMAL и SQLITE_SYNC_FULL
определяют, насколько строги синхронизирующие операции
и имеют значение только на MAC OSX для кода SQLite по умолчанию.
Сторонние внедрения VFS могли бы также сделать различие между
SQLITE_SYNC_NORMAL и SQLITE_SYNC_FULL, но среди операционных систем,
изачально поддерживаемых SQLite, только Mac OSX это делает.
Choose any three.
SQLite C Interface
Флаги типа синхронизации
#define SQLITE_SYNC_NORMAL 0x00002
#define SQLITE_SYNC_FULL 0x00003
#define SQLITE_SYNC_DATAONLY 0x00010