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

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Флаги типа синхронизации

#define SQLITE_SYNC_NORMAL        0x00002
#define SQLITE_SYNC_FULL          0x00003
#define SQLITE_SYNC_DATAONLY      0x00010

Когда 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 это делает.