#定义SQLITE_SYNC_NORMAL 0x00002 #定义SQLITE_SYNC_FULL 0x00003 #定义SQLITE_SYNC_DATAONLY 0x00010
当SQLite调用sqlite3_io_methods对象的xSync()方法时, 它将这些整数值的组合用作第二个参数。
当使用SQLITE_SYNC_DATAONLY标志时,这意味着同步操作仅需要将数据刷新到大容量存储。无需刷新Inode信息。如果标志的低四位等于SQLITE_SYNC_NORMAL,则意味着使用常规的fsync()语义。如果低四位等于SQLITE_SYNC_FULL,则意味着使用Mac OS X样式的fullsync而不是fsync()。
不要将SQLITE_SYNC_NORMAL和SQLITE_SYNC_FULL标志与PRAGMA同步= NORMAL和PRAGMA同步= FULL设置混淆。的同步编译指示确定何时所述XSYNC VFS方法调用发生和在所有平台上均匀地施加。SQLITE_SYNC_NORMAL和SQLITE_SYNC_FULL标志确定同步操作的能量,强度或强度,仅在Mac OSX上对默认SQLite代码有所不同。(第三方VFS实现也可能会在SQLITE_SYNC_NORMAL和SQLITE_SYNC_FULL之间进行区分,但在SQLite本身支持的操作系统中,只有Mac OSX会在意这一区别。)