亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sqlite3.h

?? sqlite 小型數據庫底層代碼的實現 學習數據庫底層原理很好的教材 實例
?? H
?? 第 1 頁 / 共 5 頁
字號:
** 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/*** CAPI3REF: OS Interface Open File Handle {H11110} <S20110>**** An [sqlite3_file] object represents an open file in the OS** interface layer.  Individual OS interface implementations will** want to subclass this object by appending additional fields** for their own use.  The pMethods entry is a pointer to an** [sqlite3_io_methods] object that defines methods for performing** I/O operations on the open file.*/typedef struct sqlite3_file sqlite3_file;struct sqlite3_file {  const struct sqlite3_io_methods *pMethods;  /* Methods for an open file */};/*** CAPI3REF: OS Interface File Virtual Methods Object {H11120} <S20110>**** Every file opened by the [sqlite3_vfs] xOpen method populates an** [sqlite3_file] object (or, more commonly, a subclass of the** [sqlite3_file] object) with a pointer to an instance of this object.** This object defines the methods used to perform various operations** against the open file represented by the [sqlite3_file] object.**** The flags argument to xSync may be one of [SQLITE_SYNC_NORMAL] or** [SQLITE_SYNC_FULL].  The first choice is the normal fsync().** The second choice is a Mac OS-X style fullsync.  The [SQLITE_SYNC_DATAONLY]** flag may be ORed in to indicate that only the data of the file** and not its inode needs to be synced.**** The integer values to xLock() and xUnlock() are one of** <ul>** <li> [SQLITE_LOCK_NONE],** <li> [SQLITE_LOCK_SHARED],** <li> [SQLITE_LOCK_RESERVED],** <li> [SQLITE_LOCK_PENDING], or** <li> [SQLITE_LOCK_EXCLUSIVE].** </ul>** xLock() increases the lock. xUnlock() decreases the lock.** The xCheckReservedLock() method checks whether any database connection,** either in this process or in some other process, is holding a RESERVED,** PENDING, or EXCLUSIVE lock on the file.  It returns true** if such a lock exists and false otherwise.**** The xFileControl() method is a generic interface that allows custom** VFS implementations to directly control an open file using the** [sqlite3_file_control()] interface.  The second "op" argument is an** integer opcode.  The third argument is a generic pointer intended to** point to a structure that may contain arguments or space in which to** write return values.  Potential uses for xFileControl() might be** functions to enable blocking locks with timeouts, to change the** locking strategy (for example to use dot-file locks), to inquire** about the status of a lock, or to break stale locks.  The SQLite** core reserves all opcodes less than 100 for its own use.** A [SQLITE_FCNTL_LOCKSTATE | list of opcodes] less than 100 is available.** Applications that define a custom xFileControl method should use opcodes** greater than 100 to avoid conflicts.**** The xSectorSize() method returns the sector size of the** device that underlies the file.  The sector size is the** minimum write that can be performed without disturbing** other bytes in the file.  The xDeviceCharacteristics()** method returns a bit vector describing behaviors of the** underlying device:**** <ul>** <li> [SQLITE_IOCAP_ATOMIC]** <li> [SQLITE_IOCAP_ATOMIC512]** <li> [SQLITE_IOCAP_ATOMIC1K]** <li> [SQLITE_IOCAP_ATOMIC2K]** <li> [SQLITE_IOCAP_ATOMIC4K]** <li> [SQLITE_IOCAP_ATOMIC8K]** <li> [SQLITE_IOCAP_ATOMIC16K]** <li> [SQLITE_IOCAP_ATOMIC32K]** <li> [SQLITE_IOCAP_ATOMIC64K]** <li> [SQLITE_IOCAP_SAFE_APPEND]** <li> [SQLITE_IOCAP_SEQUENTIAL]** </ul>**** The SQLITE_IOCAP_ATOMIC property means that all writes of** any size are atomic.  The SQLITE_IOCAP_ATOMICnnn values** mean that writes of blocks that are nnn bytes in size and** are aligned to an address which is an integer multiple of** nnn are atomic.  The SQLITE_IOCAP_SAFE_APPEND value means** that when data is appended to a file, the data is appended** first then the size of the file is extended, never the other** way around.  The SQLITE_IOCAP_SEQUENTIAL property means that** information is written to disk in the same order as calls** to xWrite().*/typedef struct sqlite3_io_methods sqlite3_io_methods;struct sqlite3_io_methods {  int iVersion;  int (*xClose)(sqlite3_file*);  int (*xRead)(sqlite3_file*, void*, int iAmt, sqlite3_int64 iOfst);  int (*xWrite)(sqlite3_file*, const void*, int iAmt, sqlite3_int64 iOfst);  int (*xTruncate)(sqlite3_file*, sqlite3_int64 size);  int (*xSync)(sqlite3_file*, int flags);  int (*xFileSize)(sqlite3_file*, sqlite3_int64 *pSize);  int (*xLock)(sqlite3_file*, int);  int (*xUnlock)(sqlite3_file*, int);  int (*xCheckReservedLock)(sqlite3_file*, int *pResOut);  int (*xFileControl)(sqlite3_file*, int op, void *pArg);  int (*xSectorSize)(sqlite3_file*);  int (*xDeviceCharacteristics)(sqlite3_file*);  /* Additional methods may be added in future releases */};/*** CAPI3REF: Standard File Control Opcodes {H11310} <S30800>**** These integer constants are opcodes for the xFileControl method** of the [sqlite3_io_methods] object and for the [sqlite3_file_control()]** interface.**** The [SQLITE_FCNTL_LOCKSTATE] opcode is used for debugging.  This** opcode causes the xFileControl method to write the current state of** the lock (one of [SQLITE_LOCK_NONE], [SQLITE_LOCK_SHARED],** [SQLITE_LOCK_RESERVED], [SQLITE_LOCK_PENDING], or [SQLITE_LOCK_EXCLUSIVE])** into an integer that the pArg argument points to. This capability** is used during testing and only needs to be supported when SQLITE_TEST** is defined.*/#define SQLITE_FCNTL_LOCKSTATE        1/*** CAPI3REF: Mutex Handle {H17110} <S20130>**** The mutex module within SQLite defines [sqlite3_mutex] to be an** abstract type for a mutex object.  The SQLite core never looks** at the internal representation of an [sqlite3_mutex].  It only** deals with pointers to the [sqlite3_mutex] object.**** Mutexes are created using [sqlite3_mutex_alloc()].*/typedef struct sqlite3_mutex sqlite3_mutex;/*** CAPI3REF: OS Interface Object {H11140} <S20100>**** An instance of the sqlite3_vfs object defines the interface between** the SQLite core and the underlying operating system.  The "vfs"** in the name of the object stands for "virtual file system".**** The value of the iVersion field is initially 1 but may be larger in** future versions of SQLite.  Additional fields may be appended to this** object when the iVersion value is increased.  Note that the structure** of the sqlite3_vfs object changes in the transaction between** SQLite version 3.5.9 and 3.6.0 and yet the iVersion field was not** modified.**** The szOsFile field is the size of the subclassed [sqlite3_file]** structure used by this VFS.  mxPathname is the maximum length of** a pathname in this VFS.**** Registered sqlite3_vfs objects are kept on a linked list formed by** the pNext pointer.  The [sqlite3_vfs_register()]** and [sqlite3_vfs_unregister()] interfaces manage this list** in a thread-safe way.  The [sqlite3_vfs_find()] interface** searches the list.  Neither the application code nor the VFS** implementation should use the pNext pointer.**** The pNext field is the only field in the sqlite3_vfs** structure that SQLite will ever modify.  SQLite will only access** or modify this field while holding a particular static mutex.** The application should never modify anything within the sqlite3_vfs** object once the object has been registered.**** The zName field holds the name of the VFS module.  The name must** be unique across all VFS modules.**** {H11141} SQLite will guarantee that the zFilename parameter to xOpen** is either a NULL pointer or string obtained** from xFullPathname().  SQLite further guarantees that** the string will be valid and unchanged until xClose() is** called. {END}  Because of the previous sentense,** the [sqlite3_file] can safely store a pointer to the** filename if it needs to remember the filename for some reason.** If the zFilename parameter is xOpen is a NULL pointer then xOpen** must invite its own temporary name for the file.  Whenever the ** xFilename parameter is NULL it will also be the case that the** flags parameter will include [SQLITE_OPEN_DELETEONCLOSE].**** {H11142} The flags argument to xOpen() includes all bits set in** the flags argument to [sqlite3_open_v2()].  Or if [sqlite3_open()]** or [sqlite3_open16()] is used, then flags includes at least** [SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE]. {END}** If xOpen() opens a file read-only then it sets *pOutFlags to** include [SQLITE_OPEN_READONLY].  Other bits in *pOutFlags may be set.**** {H11143} SQLite will also add one of the following flags to the xOpen()** call, depending on the object being opened:**** <ul>** <li>  [SQLITE_OPEN_MAIN_DB]** <li>  [SQLITE_OPEN_MAIN_JOURNAL]** <li>  [SQLITE_OPEN_TEMP_DB]** <li>  [SQLITE_OPEN_TEMP_JOURNAL]** <li>  [SQLITE_OPEN_TRANSIENT_DB]** <li>  [SQLITE_OPEN_SUBJOURNAL]** <li>  [SQLITE_OPEN_MASTER_JOURNAL]** </ul> {END}**** The file I/O implementation can use the object type flags to** change the way it deals with files.  For example, an application** that does not care about crash recovery or rollback might make** the open of a journal file a no-op.  Writes to this journal would** also be no-ops, and any attempt to read the journal would return** SQLITE_IOERR.  Or the implementation might recognize that a database** file will be doing page-aligned sector reads and writes in a random** order and set up its I/O subsystem accordingly.**** SQLite might also add one of the following flags to the xOpen method:**** <ul>** <li> [SQLITE_OPEN_DELETEONCLOSE]** <li> [SQLITE_OPEN_EXCLUSIVE]** </ul>**** {H11145} The [SQLITE_OPEN_DELETEONCLOSE] flag means the file should be** deleted when it is closed.  {H11146} The [SQLITE_OPEN_DELETEONCLOSE]** will be set for TEMP  databases, journals and for subjournals.**** {H11147} The [SQLITE_OPEN_EXCLUSIVE] flag means the file should be opened** for exclusive access.  This flag is set for all files except** for the main database file.**** {H11148} At least szOsFile bytes of memory are allocated by SQLite** to hold the  [sqlite3_file] structure passed as the third** argument to xOpen. {END}  The xOpen method does not have to** allocate the structure; it should just fill it in.**** {H11149} The flags argument to xAccess() may be [SQLITE_ACCESS_EXISTS]** to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to** test whether a file is readable and writable, or [SQLITE_ACCESS_READ]** to test whether a file is at least readable. {END}  The file can be a** directory.**** {H11150} SQLite will always allocate at least mxPathname+1 bytes for the** output buffer xFullPathname. {H11151} The exact size of the output buffer** is also passed as a parameter to both  methods. {END}  If the output buffer** is not large enough, [SQLITE_CANTOPEN] should be returned. Since this is** handled as a fatal error by SQLite, vfs implementations should endeavor** to prevent this by setting mxPathname to a sufficiently large value.**** The xRandomness(), xSleep(), and xCurrentTime() interfaces** are not strictly a part of the filesystem, but they are** included in the VFS structure for completeness.** The xRandomness() function attempts to return nBytes bytes** of good-quality randomness into zOut.  The return value is** the actual number of bytes of randomness obtained.** The xSleep() method causes the calling thread to sleep for at** least the number of microseconds given.  The xCurrentTime()** method returns a Julian Day Number for the current date and time.*/typedef struct sqlite3_vfs sqlite3_vfs;struct sqlite3_vfs {  int iVersion;            /* Structure version number */  int szOsFile;            /* Size of subclassed sqlite3_file */  int mxPathname;          /* Maximum file pathname length */  sqlite3_vfs *pNext;      /* Next registered VFS */  const char *zName;       /* Name of this virtual file system */  void *pAppData;          /* Pointer to application-specific data */  int (*xOpen)(sqlite3_vfs*, const char *zName, sqlite3_file*,               int flags, int *pOutFlags);  int (*xDelete)(sqlite3_vfs*, const char *zName, int syncDir);  int (*xAccess)(sqlite3_vfs*, const char *zName, int flags, int *pResOut);  int (*xFullPathname)(sqlite3_vfs*, const char *zName, int nOut, char *zOut);  void *(*xDlOpen)(sqlite3_vfs*, const char *zFilename);  void (*xDlError)(sqlite3_vfs*, int nByte, char *zErrMsg);  void *(*xDlSym)(sqlite3_vfs*,void*, const char *zSymbol);  void (*xDlClose)(sqlite3_vfs*, void*);  int (*xRandomness)(sqlite3_vfs*, int nByte, char *zOut);  int (*xSleep)(sqlite3_vfs*, int microseconds);  int (*xCurrentTime)(sqlite3_vfs*, double*);  int (*xGetLastError)(sqlite3_vfs*, int, char *);  /* New fields may be appended in figure versions.  The iVersion  ** value will increment whenever this happens. */};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放/欧美激情| 成人黄页在线观看| 一区二区在线观看av| 亚洲综合激情小说| 亚洲乱码国产乱码精品精可以看 | 欧美日韩成人一区二区| 欧美最猛黑人xxxxx猛交| 91丨九色porny丨蝌蚪| 99亚偷拍自图区亚洲| 91麻豆免费视频| 色94色欧美sute亚洲13| 欧美日韩中文一区| 欧美一级欧美三级| 精品不卡在线视频| 国产欧美日韩在线看| 成人免费在线观看入口| 亚洲最大成人综合| 青青青爽久久午夜综合久久午夜| 日韩影院免费视频| 国产成人亚洲精品青草天美| av日韩在线网站| 欧美三级视频在线观看| 日韩免费观看高清完整版在线观看| 精品国产一区二区三区久久久蜜月| 久久久精品影视| 亚洲一二三四在线观看| 久久国产福利国产秒拍| av福利精品导航| 6080yy午夜一二三区久久| 精品国产不卡一区二区三区| 亚洲欧洲国产日韩| 蜜乳av一区二区三区| 国产福利一区二区三区| 欧美日韩一级视频| 国产精品天干天干在观线| 亚洲韩国精品一区| 国产成人欧美日韩在线电影| 欧美日韩国产成人在线91| 国产亚洲精品资源在线26u| 亚洲天堂av一区| 老司机精品视频一区二区三区| 菠萝蜜视频在线观看一区| 7777精品伊人久久久大香线蕉的| 国产精品另类一区| 精品午夜久久福利影院 | 91精品欧美一区二区三区综合在| 久久久久9999亚洲精品| 人人狠狠综合久久亚洲| 一本久道中文字幕精品亚洲嫩| 亚洲精品在线三区| 亚洲 欧美综合在线网络| 99久久国产综合精品色伊| 欧美电影免费观看完整版| 亚洲第一狼人社区| 91天堂素人约啪| 欧美高清在线一区二区| 久草热8精品视频在线观看| 欧美日韩一区二区三区免费看| 国产精品白丝在线| 国产原创一区二区| 欧美电影免费观看高清完整版在线观看| 洋洋av久久久久久久一区| 99久久综合精品| 国产精品第四页| 成人一区在线观看| 国产日韩在线不卡| 国产精品99久久久久久宅男| 国产精品你懂的在线| 国产精品伊人色| 久久尤物电影视频在线观看| 蜜乳av一区二区| 欧美电影免费观看高清完整版在| 日韩av一区二区在线影视| 69堂成人精品免费视频| 日韩精品视频网| 日韩一级精品视频在线观看| 日韩和欧美一区二区三区| 欧美日韩国产欧美日美国产精品| 亚洲国产另类av| 欧美日韩不卡视频| 日本不卡一区二区| 欧美成人女星排行榜| 美女一区二区在线观看| 精品国产乱码久久| 国产超碰在线一区| 亚洲欧美日韩国产另类专区| 色视频欧美一区二区三区| 亚洲高清视频的网址| 3d动漫精品啪啪1区2区免费 | 国产精品福利影院| 91一区二区在线| 香蕉久久一区二区不卡无毒影院| 欧美精品国产精品| 精品一区二区三区欧美| 久久久国际精品| 色久优优欧美色久优优| 婷婷亚洲久悠悠色悠在线播放| 日韩欧美色综合网站| 粉嫩一区二区三区性色av| 亚洲精品视频观看| 日韩美女视频在线| 成人av动漫网站| 亚洲福利一二三区| 久久九九久久九九| 色婷婷久久99综合精品jk白丝| 亚洲成人av福利| 精品国产百合女同互慰| 一本到三区不卡视频| 日韩av午夜在线观看| 国产精品成人免费在线| 91精品婷婷国产综合久久 | 欧美日韩免费观看一区二区三区| 久久精品99国产精品日本| 欧美韩国日本一区| 7799精品视频| 99国产欧美久久久精品| 美女任你摸久久 | 欧美日韩视频在线观看一区二区三区 | 美国毛片一区二区| 国产精品不卡一区| 精品久久久影院| 91色porny蝌蚪| 国产在线看一区| 天堂一区二区在线| 中文字幕在线观看一区二区| 欧美mv日韩mv| 777久久久精品| 欧洲日韩一区二区三区| 国产激情视频一区二区在线观看 | 国产偷v国产偷v亚洲高清| 色综合久久中文综合久久97| 国产精品中文有码| 琪琪久久久久日韩精品| 亚洲网友自拍偷拍| 亚洲三级电影网站| 国产精品美女视频| 久久精品一区二区三区av| 这里是久久伊人| 欧美亚洲综合另类| 91麻豆国产精品久久| 成人av网址在线| 国产一区二区不卡老阿姨| 三级欧美韩日大片在线看| 亚洲欧美乱综合| 亚洲色图另类专区| 亚洲人成网站在线| 亚洲欧美日韩国产中文在线| 中文字幕一区二区三区四区 | 91麻豆精品91久久久久久清纯| 在线精品视频小说1| 91网站在线观看视频| 99久久婷婷国产综合精品电影| 波多野结衣亚洲一区| hitomi一区二区三区精品| 成人黄页毛片网站| 99精品久久只有精品| 91热门视频在线观看| 91成人免费网站| 欧美日韩国产一级片| 在线成人午夜影院| 日韩欧美一级在线播放| 精品理论电影在线| 中文字幕的久久| 亚洲欧美成人一区二区三区| 樱桃视频在线观看一区| 亚洲第一二三四区| 久久机这里只有精品| 国内精品写真在线观看| 成人涩涩免费视频| 欧美午夜精品一区二区三区| 欧美久久久久免费| 久久久久久久久久看片| 国产欧美日韩久久| 一区二区三区在线观看网站| 日本欧美大码aⅴ在线播放| 极品少妇xxxx偷拍精品少妇| 成人精品高清在线| 精品视频1区2区| 精品欧美久久久| 亚洲精品综合在线| 日韩在线一二三区| 99久久精品国产毛片| 91精品久久久久久久91蜜桃| 国产亚洲欧美一区在线观看| 亚洲精品免费播放| 紧缚捆绑精品一区二区| 91日韩一区二区三区| 精品久久久久99| 亚洲免费av观看| 狠狠色综合色综合网络| 99re成人在线| 精品国产伦一区二区三区观看方式| 一区在线播放视频| 玖玖九九国产精品| 91久久国产最好的精华液| 久久亚洲私人国产精品va媚药| 亚洲自拍与偷拍| 不卡av电影在线播放| 精品国产凹凸成av人导航| 亚洲综合一区在线|