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

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

?? sqliteint.h

?? 新版輕量級嵌入式數據庫
?? H
?? 第 1 頁 / 共 5 頁
字號:
/*** 2001 September 15**** The author disclaims copyright to this source code.  In place of** a legal notice, here is a blessing:****    May you do good and not evil.**    May you find forgiveness for yourself and forgive others.**    May you share freely, never taking more than you give.***************************************************************************** Internal interface definitions for SQLite.**** @(#) $Id: sqliteInt.h,v 1.493 2006/04/04 01:54:55 drh Exp $*/#ifndef _SQLITEINT_H_#define _SQLITEINT_H_/*** Extra interface definitions for those who need them*/#ifdef SQLITE_EXTRA# include "sqliteExtra.h"#endif/*** Many people are failing to set -DNDEBUG=1 when compiling SQLite.** Setting NDEBUG makes the code smaller and run faster.  So the following** lines are added to automatically set NDEBUG unless the -DSQLITE_DEBUG=1** option is set.  Thus NDEBUG becomes an opt-in rather than an opt-out** feature.*/#if !defined(NDEBUG) && !defined(SQLITE_DEBUG) # define NDEBUG 1#endif/*** These #defines should enable >2GB file support on Posix if the** underlying operating system supports it.  If the OS lacks** large file support, or if the OS is windows, these should be no-ops.**** Large file support can be disabled using the -DSQLITE_DISABLE_LFS switch** on the compiler command line.  This is necessary if you are compiling** on a recent machine (ex: RedHat 7.2) but you want your code to work** on an older machine (ex: RedHat 6.0).  If you compile on RedHat 7.2** without this option, LFS is enable.  But LFS does not exist in the kernel** in RedHat 6.0, so the code won't work.  Hence, for maximum binary** portability you should omit LFS.**** Similar is true for MacOS.  LFS is only supported on MacOS 9 and later.*/#ifndef SQLITE_DISABLE_LFS# define _LARGE_FILE       1# ifndef _FILE_OFFSET_BITS#   define _FILE_OFFSET_BITS 64# endif# define _LARGEFILE_SOURCE 1#endif#include "sqlite3.h"#include "hash.h"#include "parse.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <stddef.h>/*** If compiling for a processor that lacks floating point support,** substitute integer for floating-point*/#ifdef SQLITE_OMIT_FLOATING_POINT# define double sqlite_int64# define LONGDOUBLE_TYPE sqlite_int64# ifndef SQLITE_BIG_DBL#   define SQLITE_BIG_DBL (0x7fffffffffffffff)# endif# define SQLITE_OMIT_DATETIME_FUNCS 1# define SQLITE_OMIT_TRACE 1#endif#ifndef SQLITE_BIG_DBL# define SQLITE_BIG_DBL (1e99)#endif/*** The maximum number of in-memory pages to use for the main database** table and for temporary tables. Internally, the MAX_PAGES and ** TEMP_PAGES macros are used. To override the default values at** compilation time, the SQLITE_DEFAULT_CACHE_SIZE and ** SQLITE_DEFAULT_TEMP_CACHE_SIZE macros should be set.*/#ifdef SQLITE_DEFAULT_CACHE_SIZE# define MAX_PAGES SQLITE_DEFAULT_CACHE_SIZE#else# define MAX_PAGES   2000#endif#ifdef SQLITE_DEFAULT_TEMP_CACHE_SIZE# define TEMP_PAGES SQLITE_DEFAULT_TEMP_CACHE_SIZE#else# define TEMP_PAGES   500#endif/*** OMIT_TEMPDB is set to 1 if SQLITE_OMIT_TEMPDB is defined, or 0** afterward. Having this macro allows us to cause the C compiler ** to omit code used by TEMP tables without messy #ifndef statements.*/#ifdef SQLITE_OMIT_TEMPDB#define OMIT_TEMPDB 1#else#define OMIT_TEMPDB 0#endif/*** If the following macro is set to 1, then NULL values are considered** distinct when determining whether or not two entries are the same** in a UNIQUE index.  This is the way PostgreSQL, Oracle, DB2, MySQL,** OCELOT, and Firebird all work.  The SQL92 spec explicitly says this** is the way things are suppose to work.**** If the following macro is set to 0, the NULLs are indistinct for** a UNIQUE index.  In this mode, you can only have a single NULL entry** for a column declared UNIQUE.  This is the way Informix and SQL Server** work.*/#define NULL_DISTINCT_FOR_UNIQUE 1/*** The maximum number of attached databases.  This must be at least 2** in order to support the main database file (0) and the file used to** hold temporary tables (1).  And it must be less than 32 because** we use a bitmask of databases with a u32 in places (for example** the Parse.cookieMask field).*/#define MAX_ATTACHED 10/*** The maximum value of a ?nnn wildcard that the parser will accept.*/#define SQLITE_MAX_VARIABLE_NUMBER 999/*** The "file format" number is an integer that is incremented whenever** the VDBE-level file format changes.  The following macros define the** the default file format for new databases and the maximum file format** that the library can read.*/#define SQLITE_MAX_FILE_FORMAT 4#ifndef SQLITE_DEFAULT_FILE_FORMAT# define SQLITE_DEFAULT_FILE_FORMAT 4#endif/*** Provide a default value for TEMP_STORE in case it is not specified** on the command-line*/#ifndef TEMP_STORE# define TEMP_STORE 1#endif/*** GCC does not define the offsetof() macro so we'll have to do it** ourselves.*/#ifndef offsetof#define offsetof(STRUCTURE,FIELD) ((int)((char*)&((STRUCTURE*)0)->FIELD))#endif/*** Check to see if this machine uses EBCDIC.  (Yes, believe it or** not, there are still machines out there that use EBCDIC.)*/#if 'A' == '\301'# define SQLITE_EBCDIC 1#else# define SQLITE_ASCII 1#endif/*** Integers of known sizes.  These typedefs might change for architectures** where the sizes very.  Preprocessor macros are available so that the** types can be conveniently redefined at compile-type.  Like this:****         cc '-DUINTPTR_TYPE=long long int' ...*/#ifndef UINT32_TYPE# define UINT32_TYPE unsigned int#endif#ifndef UINT16_TYPE# define UINT16_TYPE unsigned short int#endif#ifndef INT16_TYPE# define INT16_TYPE short int#endif#ifndef UINT8_TYPE# define UINT8_TYPE unsigned char#endif#ifndef INT8_TYPE# define INT8_TYPE signed char#endif#ifndef LONGDOUBLE_TYPE# define LONGDOUBLE_TYPE long double#endiftypedef sqlite_int64 i64;          /* 8-byte signed integer */typedef sqlite_uint64 u64;         /* 8-byte unsigned integer */typedef UINT32_TYPE u32;           /* 4-byte unsigned integer */typedef UINT16_TYPE u16;           /* 2-byte unsigned integer */typedef INT16_TYPE i16;            /* 2-byte signed integer */typedef UINT8_TYPE u8;             /* 1-byte unsigned integer */typedef UINT8_TYPE i8;             /* 1-byte signed integer *//*** Macros to determine whether the machine is big or little endian,** evaluated at runtime.*/extern const int sqlite3one;#define SQLITE_BIGENDIAN    (*(char *)(&sqlite3one)==0)#define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1)/*** An instance of the following structure is used to store the busy-handler** callback for a given sqlite handle. **** The sqlite.busyHandler member of the sqlite struct contains the busy** callback for the database handle. Each pager opened via the sqlite** handle is passed a pointer to sqlite.busyHandler. The busy-handler** callback is currently invoked only from within pager.c.*/typedef struct BusyHandler BusyHandler;struct BusyHandler {  int (*xFunc)(void *,int);  /* The busy callback */  void *pArg;                /* First arg to busy callback */  int nBusy;                 /* Incremented with each busy call */};/*** Defer sourcing vdbe.h and btree.h until after the "u8" and ** "BusyHandler typedefs.*/#include "vdbe.h"#include "btree.h"#include "pager.h"#ifdef SQLITE_MEMDEBUG/*** The following global variables are used for testing and debugging** only.  They only work if SQLITE_MEMDEBUG is defined.*/extern int sqlite3_nMalloc;      /* Number of sqliteMalloc() calls */extern int sqlite3_nFree;        /* Number of sqliteFree() calls */extern int sqlite3_iMallocFail;  /* Fail sqliteMalloc() after this many calls */extern int sqlite3_iMallocReset; /* Set iMallocFail to this when it reaches 0 */extern void *sqlite3_pFirst;         /* Pointer to linked list of allocations */extern int sqlite3_nMaxAlloc;        /* High water mark of ThreadData.nAlloc */extern int sqlite3_mallocDisallowed; /* assert() in sqlite3Malloc() if set */extern int sqlite3_isFail;           /* True if all malloc calls should fail */extern const char *sqlite3_zFile;    /* Filename to associate debug info with */extern int sqlite3_iLine;            /* Line number for debug info */#define ENTER_MALLOC (sqlite3_zFile = __FILE__, sqlite3_iLine = __LINE__)#define sqliteMalloc(x)          (ENTER_MALLOC, sqlite3Malloc(x,1))#define sqliteMallocRaw(x)       (ENTER_MALLOC, sqlite3MallocRaw(x,1))#define sqliteRealloc(x,y)       (ENTER_MALLOC, sqlite3Realloc(x,y))#define sqliteStrDup(x)          (ENTER_MALLOC, sqlite3StrDup(x))#define sqliteStrNDup(x,y)       (ENTER_MALLOC, sqlite3StrNDup(x,y))#define sqliteReallocOrFree(x,y) (ENTER_MALLOC, sqlite3ReallocOrFree(x,y))#else#define ENTER_MALLOC 0#define sqliteMalloc(x)          sqlite3Malloc(x,1)#define sqliteMallocRaw(x)       sqlite3MallocRaw(x,1)#define sqliteRealloc(x,y)       sqlite3Realloc(x,y)#define sqliteStrDup(x)          sqlite3StrDup(x)#define sqliteStrNDup(x,y)       sqlite3StrNDup(x,y)#define sqliteReallocOrFree(x,y) sqlite3ReallocOrFree(x,y)#endif#define sqliteFree(x)          sqlite3FreeX(x)#define sqliteAllocSize(x)     sqlite3AllocSize(x)/*** An instance of this structure might be allocated to store information** specific to a single thread.*/struct ThreadData {  int dummy;               /* So that this structure is never empty */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产二区国产一区在线观看 | 国产成人免费高清| 亚洲精品欧美二区三区中文字幕| 2023国产精华国产精品| 欧美成人三级在线| 色欧美乱欧美15图片| 欧美性xxxxx极品少妇| 在线视频一区二区三区| 3atv一区二区三区| 日韩欧美国产电影| 99国产精品久久久久久久久久久| 日韩色在线观看| 久久久久久免费网| 日韩久久免费av| 国产精品免费网站在线观看| 国产日韩高清在线| 日韩码欧中文字| 亚洲国产精品欧美一二99| 麻豆精品一区二区av白丝在线| 精品夜夜嗨av一区二区三区| 韩日欧美一区二区三区| 成人免费视频免费观看| 99精品欧美一区二区蜜桃免费 | 欧美日韩成人综合| 久久午夜羞羞影院免费观看| 亚洲乱码精品一二三四区日韩在线| 亚洲精品精品亚洲| 亚洲天堂免费在线观看视频| 丝袜美腿成人在线| k8久久久一区二区三区| 91麻豆精品国产91久久久| 一区二区三区欧美视频| 波多野结衣在线aⅴ中文字幕不卡| 欧美在线视频日韩| 中文字幕一区二区三区乱码在线| 麻豆成人av在线| 色丁香久综合在线久综合在线观看| 色噜噜狠狠成人中文综合| 国产精品的网站| 国产综合一区二区| 久久综合成人精品亚洲另类欧美 | 精品国内二区三区| 日韩免费观看高清完整版| 免费看欧美女人艹b| av不卡免费在线观看| 欧美亚洲精品一区| 中文字幕在线不卡| 国产精品一区二区免费不卡| 精品视频在线免费观看| 亚洲一级二级三级在线免费观看| 成人18视频日本| 日韩免费高清视频| 国产91在线观看| 亚洲免费电影在线| 91久久精品一区二区三区| 中文成人av在线| 99久久免费精品| 亚洲国产视频a| 精品成人一区二区三区四区| 粉嫩av一区二区三区粉嫩| 午夜精品久久久久久| www国产成人| 成人小视频在线| 最新欧美精品一区二区三区| 欧美日韩色一区| 国产在线一区二区| 一区二区三区在线免费| 国产日韩影视精品| 成人av高清在线| 日韩不卡一区二区三区| 亚洲一线二线三线视频| 久久色成人在线| 不卡av在线免费观看| 不卡影院免费观看| 99在线热播精品免费| 麻豆国产精品视频| 蜜臀久久99精品久久久久久9| 麻豆成人久久精品二区三区红 | 久久欧美一区二区| 久久精品视频一区| 欧美日韩在线免费视频| 91丨九色丨蝌蚪富婆spa| 色综合久久88色综合天天免费| 99久久婷婷国产精品综合| 欧美日韩黄视频| 91精品国产综合久久久蜜臀粉嫩| 欧美一区二区三级| 欧美国产成人在线| 亚洲免费毛片网站| 一区二区三区日韩欧美| 性做久久久久久免费观看欧美| 午夜亚洲国产au精品一区二区| 黄色资源网久久资源365| 成人av高清在线| 久久一区二区三区四区| 一区二区三区小说| 日本亚洲电影天堂| 97久久精品人人做人人爽50路| 欧美日本韩国一区| 亚洲免费观看高清完整版在线| 天使萌一区二区三区免费观看| 成人午夜私人影院| 国产亚洲污的网站| 青娱乐精品视频在线| 日本国产一区二区| 亚洲女女做受ⅹxx高潮| 国产91精品欧美| 久久婷婷国产综合国色天香| 美女精品一区二区| 久久久久99精品一区| 日本欧美一区二区| 91精品国产综合久久福利| 亚洲在线免费播放| 在线观看日韩精品| 日韩综合小视频| 欧美精品aⅴ在线视频| 看电视剧不卡顿的网站| 国产视频不卡一区| 成人综合在线观看| 国产精品电影一区二区| 色综合久久中文字幕综合网| 综合久久国产九一剧情麻豆| 欧美日韩午夜在线| 国产精品香蕉一区二区三区| 136国产福利精品导航| 91精品国产欧美日韩| 久久超碰97人人做人人爱| 日韩女优视频免费观看| 国产精品123| 午夜国产精品一区| 亚洲嫩草精品久久| 2019国产精品| 欧美日韩国产123区| 成人动漫一区二区| 日韩成人一级大片| 国产精品久久久久一区二区三区共| 欧美中文字幕一区二区三区亚洲| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲男人天堂一区| 欧美精品一区二区三区在线| 在线观看国产91| 日本道色综合久久| 在线免费亚洲电影| 成人性生交大片免费看中文| 国产91精品免费| 国产一区二区调教| 韩国视频一区二区| 午夜精品久久久久久不卡8050| 亚洲女女做受ⅹxx高潮| 亚洲男人天堂一区| 亚洲视频一区二区在线观看| √…a在线天堂一区| 中文字幕一区二区三区视频| 亚洲男人的天堂在线aⅴ视频| 2021国产精品久久精品| 欧美国产精品一区| 一区二区在线免费观看| 性欧美大战久久久久久久久| 亚洲黄色免费电影| 日本亚洲三级在线| 国产91富婆露脸刺激对白| 欧美在线视频你懂得| 99久久精品国产麻豆演员表| 成人综合婷婷国产精品久久蜜臀| 国产69精品久久久久777| 91天堂素人约啪| 91精品婷婷国产综合久久| 精品欧美一区二区三区精品久久| 日韩女优av电影| 日韩一区在线看| 国产高清视频一区| 91精品国产综合久久精品图片 | 国产日韩欧美不卡在线| 一区二区三区国产精品| 国产精品一二二区| 日韩女优毛片在线| 亚洲大尺度视频在线观看| 国产成人综合精品三级| 7777精品伊人久久久大香线蕉| 宅男噜噜噜66一区二区66| 亚洲色图另类专区| 91麻豆免费视频| 一区二区久久久久久| av不卡免费电影| 亚洲免费在线观看| av电影在线观看完整版一区二区| 精品久久久久久久久久久院品网| 亚洲电影在线免费观看| 色久优优欧美色久优优| 亚洲一区影音先锋| 在线免费精品视频| 亚洲综合激情小说| 欧美人牲a欧美精品| 夜夜亚洲天天久久| 色哟哟在线观看一区二区三区| 久久网站热最新地址| www.日韩精品| 日韩一区精品字幕| 国产精品视频你懂的| 91在线免费看|