SQLITE源码剖析(17)

声明:本SQLite源码剖析系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载  

** CAPI3REF: File Locking Levels

**文件锁,SQLITE使用这些整数值中的一个做为第2个参数调用sqlite3_io_methods对象的xlock()和xUunlock()方法

** SQLite uses one of these integer values as the second

** argument to calls it makes to the xLock() and xUnlock() methods

** of an [sqlite3_io_methods] object.

*/

#define SQLITE_LOCK_NONE          0

#define SQLITE_LOCK_SHARED        1

#define SQLITE_LOCK_RESERVED      2

#define SQLITE_LOCK_PENDING       3

#define SQLITE_LOCK_EXCLUSIVE     4

 

/*

** CAPI3REF: Synchronization Type Flags

**同步标志

** When SQLite invokes the xSync() method of an

** [sqlite3_io_methods] object it uses a combination of

** these integer values as the second argument.

**sqlite3_io_methods对象的xSync()方法使用这些整数值做为第2个参数

** When the SQLITE_SYNC_DATAONLY flag is used, it means that the

** sync operation only needs to flush data to mass storage.  Inode

** information need not be flushed. If the lower four bits of the flag

**SQLITE_SYNC_DATAONLY标志表示同步操作仅需要用于更新数据在主存区,索引信息不需要更新,如果flag的最低4位为SQLITE_SYNC_NORMAL,则使用fsync()。如果低4位为SQLITE_SYNC_FULL,则使用Mac OS X的fullsync替代fsync()

** equal SQLITE_SYNC_NORMAL, that means to use normal fsync() semantics.

** If the lower four bits equal SQLITE_SYNC_FULL, that means

** to use Mac OS X style fullsync instead of fsync().

*/

#define SQLITE_SYNC_NORMAL        0x00002

#define SQLITE_SYNC_FULL          0x00003

#define SQLITE_SYNC_DATAONLY      0x00010

你可能感兴趣的:(sqlite,OS)