小巧、快速、可靠。
三選一。

SQLite C 介面

裝置特性

#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

sqlite3_io_methods 物件的 xDeviceCharacteristics 方法會返回一個整數,該整數是由這些位元值組成的向量,表示儲存 sqlite3_io_methods 所參考之檔案的儲存裝置的 I/O 特性。

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_WRITESQLITE_FCNTL_COMMIT_ATOMIC_WRITE 標記的寫入操作時,以原子方式執行多個寫入操作。

另請參閱物件常數函式列表。