勇芳软件工作室.汉化:  Constants >

Synchronization Type Flags

Previous pageReturn to chapter overviewNext page

%SQLITE_SYNC_NORMAL        = &H00002???

%SQLITE_SYNC_FULL          = &H00003???

%SQLITE_SYNC_DATAONLY      = &H00010???

 

当SQLite调用sqlite3_io_methods对象的xSync()方法时,它将使用这些整数值的组合作为第二个参数。

 

当使用SQLITE_SYNC_DATAONLY标志时,这意味着同步操作只需要将数据刷新到大容量存储。Inode信息不需要刷新。如果标志的低4位等于SQLITE_SYNC_NORMAL,则表示使用正常的fsync()语义。如果较低的四位等于SQLITE_SYNC_FULL,则表示使用Mac OS X样式fullsync而不是fsync()。

 

不要将SQLITE_SYNC_NORMAL和SQLITE_SYNC_FULL标志与PRAGMA sync = NORMAL和PRAGMA同步= FULL设置混淆。同步编译指示确定何时发生对xSync VFS方法的调用,并在所有平台上均匀应用。SQLITE_SYNC_NORMAL和SQLITE_SYNC_FULL标志确定同步操作的精力充沛,严谨或有力,仅在默认SQLite代码的Mac OSX上有所不同。(第三方VFS实现也可能会区分SQLITE_SYNC_NORMAL和SQLITE_SYNC_FULL,但在SQLite原生支持的操作系统中,只有Mac OSX关心区别。)