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_IOCAP_ATOMIC                 0x00000001
#define SQLITE_IOCAP_ATOMIC512              0x00000002
#define SQLITE_IOCAP_ATOMIC1K               0x00000004
#define SQLITE_IOCAP_ATOMIC2K               0x00000008
#define SQLITE_IOCAP_ATOMIC4K               0x00000010
#define SQLITE_IOCAP_ATOMIC8K               0x00000020
#define SQLITE_IOCAP_ATOMIC16K              0x00000040
#define SQLITE_IOCAP_ATOMIC32K              0x00000080
#define SQLITE_IOCAP_ATOMIC64K              0x00000100
#define SQLITE_IOCAP_SAFE_APPEND            0x00000200
#define SQLITE_IOCAP_SEQUENTIAL             0x00000400
#define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN  0x00000800
#define SQLITE_IOCAP_POWERSAFE_OVERWRITE    0x00001000
#define SQLITE_IOCAP_IMMUTABLE              0x00002000
#define SQLITE_IOCAP_BATCH_ATOMIC           0x00004000

Метод xDeviceCharacteristics объекта sqlite3_io_methods возвращает целое число, которое является вектором этих разрядных значений, выражающих особенности I/O устройства массового хранения, которое содержит файл, к которому относится sqlite3_io_methods.

SQLITE_IOCAP_ATOMIC означает, что все записи атомные. Значения SQLITE_IOCAP_ATOMICnnn значат, что записи блоков, которые nnn байт размером и выровнены с адресом, который является целым числом, кратным nnn, атомны. SQLITE_IOCAP_SAFE_APPEND означает, что, когда данные добавлены к файлу, данные сначала пишутся, потом меняется размер файла, никогда наоборот. SQLITE_IOCAP_SEQUENTIAL означает, что информация написана на диск в том же самом порядке, как вызывали xWrite(). SQLITE_IOCAP_POWERSAFE_OVERWRITE означает, что после перезагрузки после катастрофы или потери питания единственные байты в файле, которые были написаны на уровне приложения, возможно, изменились и что смежные байты, даже байты в том же самом секторе, как гарантируют, будут неизменны. Флаг SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN указывает, что файл не может быть удален, когда открыт. SQLITE_IOCAP_IMMUTABLE указывает, что файл находится на носителе только для чтения и не может быть изменен даже процессами с поднятыми привилегиями.

SQLITE_IOCAP_BATCH_ATOMIC означает, что основная файловая система поддерживает выполнение многократных операций записи атомарно, когда те операции записи заключены в скобки SQLITE_FCNTL_BEGIN_ATOMIC_WRITE и SQLITE_FCNTL_COMMIT_ATOMIC_WRITE.