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

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

?? sqliteint.h

?? Trolltech公司發布的基于C++圖形開發環境
?? H
?? 第 1 頁 / 共 4 頁
字號:
/*** 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: qt/sqliteInt.h   3.3.4   edited Mar 30 2004 $*/#include "config.h"#include "sqlite.h"#include "hash.h"#include "parse.h"#include "btree.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>/*** The maximum number of in-memory pages to use for the main database** table and for temporary tables.*/#define MAX_PAGES   2000#define TEMP_PAGES   500/*** If the following macro is set to 1, then NULL values are considered** distinct for the SELECT DISTINCT statement and for UNION or EXCEPT** compound queries.  No other SQL database engine (among those tested) ** works this way except for OCELOT.  But the SQL92 spec implies that** this is how things should work.**** If the following macro is set to 0, then NULLs are indistinct for** SELECT DISTINCT and for UNION.*/#define NULL_ALWAYS_DISTINCT 0/*** 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 256 because** an unsigned character is used to stored the database index.*/#define MAX_ATTACHED 10/*** The next macro is used to determine where TEMP tables and indices** are stored.  Possible values:****   0    Always use a temporary files**   1    Use a file unless overridden by "PRAGMA temp_store"**   2    Use memory unless overridden by "PRAGMA temp_store"**   3    Always use memory*/#ifndef TEMP_STORE# define TEMP_STORE 1#endif/*** When building SQLite for embedded systems where memory is scarce,** you can define one or more of the following macros to omit extra** features of the library and thus keep the size of the library to** a minimum.*//* #define SQLITE_OMIT_AUTHORIZATION  1 *//* #define SQLITE_OMIT_INMEMORYDB     1 *//* #define SQLITE_OMIT_VACUUM         1 *//* #define SQLITE_OMIT_DATETIME_FUNCS 1 *//* #define SQLITE_OMIT_PROGRESS_CALLBACK 1 *//*** 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 UINT8_TYPE# define UINT8_TYPE unsigned char#endif#ifndef INT8_TYPE# define INT8_TYPE signed char#endif#ifndef INTPTR_TYPE# if SQLITE_PTR_SZ==4#   define INTPTR_TYPE int# else#   define INTPTR_TYPE long long# endif#endiftypedef UINT32_TYPE u32;           /* 4-byte unsigned integer */typedef UINT16_TYPE u16;           /* 2-byte unsigned integer */typedef UINT8_TYPE u8;             /* 1-byte unsigned integer */typedef UINT8_TYPE i8;             /* 1-byte signed integer */typedef INTPTR_TYPE ptr;           /* Big enough to hold a pointer */typedef unsigned INTPTR_TYPE uptr; /* Big enough to hold a pointer *//*** Defer sourcing vdbe.h until after the "u8" typedef is defined.*/#include "vdbe.h"/*** Most C compilers these days recognize "long double", don't they?** Just in case we encounter one that does not, we will create a macro** for long double so that it can be easily changed to just "double".*/#ifndef LONGDOUBLE_TYPE# define LONGDOUBLE_TYPE long double#endif/*** This macro casts a pointer to an integer.  Useful for doing** pointer arithmetic.*/#define Addr(X)  ((uptr)X)/*** The maximum number of bytes of data that can be put into a single** row of a single table.  The upper bound on this limit is 16777215** bytes (or 16MB-1).  We have arbitrarily set the limit to just 1MB** here because the overflow page chain is inefficient for really big** records and we want to discourage people from thinking that ** multi-megabyte records are OK.  If your needs are different, you can** change this define and recompile to increase or decrease the record** size.**** The 16777198 is computed as follows:  238 bytes of payload on the** original pages plus 16448 overflow pages each holding 1020 bytes of** data.*/#define MAX_BYTES_PER_ROW  1048576/* #define MAX_BYTES_PER_ROW 16777198 *//*** If memory allocation problems are found, recompile with****      -DMEMORY_DEBUG=1**** to enable some sanity checking on malloc() and free().  To** check for memory leaks, recompile with****      -DMEMORY_DEBUG=2**** and a line of text will be written to standard error for** each malloc() and free().  This output can be analyzed** by an AWK script to determine if there are any leaks.*/#ifdef MEMORY_DEBUG# define sqliteMalloc(X)    sqliteMalloc_(X,1,__FILE__,__LINE__)# define sqliteMallocRaw(X) sqliteMalloc_(X,0,__FILE__,__LINE__)# define sqliteFree(X)      sqliteFree_(X,__FILE__,__LINE__)# define sqliteRealloc(X,Y) sqliteRealloc_(X,Y,__FILE__,__LINE__)# define sqliteStrDup(X)    sqliteStrDup_(X,__FILE__,__LINE__)# define sqliteStrNDup(X,Y) sqliteStrNDup_(X,Y,__FILE__,__LINE__)  void sqliteStrRealloc(char**);#else# define sqliteRealloc_(X,Y) sqliteRealloc(X,Y)# define sqliteStrRealloc(X)#endif/*** This variable gets set if malloc() ever fails.  After it gets set,** the SQLite library shuts down permanently.*/extern int sqlite_malloc_failed;/*** The following global variables are used for testing and debugging** only.  They only work if MEMORY_DEBUG is defined.*/#ifdef MEMORY_DEBUGextern int sqlite_nMalloc;       /* Number of sqliteMalloc() calls */extern int sqlite_nFree;         /* Number of sqliteFree() calls */extern int sqlite_iMallocFail;   /* Fail sqliteMalloc() after this many calls */#endif/*** Name of the master database table.  The master database table** is a special table that holds the names and attributes of all** user tables and indices.*/#define MASTER_NAME       "sqlite_master"#define TEMP_MASTER_NAME  "sqlite_temp_master"/*** The name of the schema table.*/#define SCHEMA_TABLE(x)  (x?TEMP_MASTER_NAME:MASTER_NAME)/*** A convenience macro that returns the number of elements in** an array.*/#define ArraySize(X)    (sizeof(X)/sizeof(X[0]))/*** Forward references to structures*/typedef struct Column Column;typedef struct Table Table;typedef struct Index Index;typedef struct Instruction Instruction;typedef struct Expr Expr;typedef struct ExprList ExprList;typedef struct Parse Parse;typedef struct Token Token;typedef struct IdList IdList;typedef struct SrcList SrcList;typedef struct WhereInfo WhereInfo;typedef struct WhereLevel WhereLevel;typedef struct Select Select;typedef struct AggExpr AggExpr;typedef struct FuncDef FuncDef;typedef struct Trigger Trigger;typedef struct TriggerStep TriggerStep;typedef struct TriggerStack TriggerStack;typedef struct FKey FKey;typedef struct Db Db;typedef struct AuthContext AuthContext;/*** Each database file to be accessed by the system is an instance** of the following structure.  There are normally two of these structures** in the sqlite.aDb[] array.  aDb[0] is the main database file and** aDb[1] is the database file used to hold temporary tables.  Additional** databases may be attached.*/struct Db {  char *zName;         /* Name of this database */  Btree *pBt;          /* The B*Tree structure for this database file */  int schema_cookie;   /* Database schema version number for this file */  Hash tblHash;        /* All tables indexed by name */  Hash idxHash;        /* All (named) indices indexed by name */  Hash trigHash;       /* All triggers indexed by name */  Hash aFKey;          /* Foreign keys indexed by to-table */  u8 inTrans;          /* 0: not writable.  1: Transaction.  2: Checkpoint */  u16 flags;           /* Flags associated with this database */  void *pAux;          /* Auxiliary data.  Usually NULL */  void (*xFreeAux)(void*);  /* Routine to free pAux */};/*** These macros can be used to test, set, or clear bits in the ** Db.flags field.*/#define DbHasProperty(D,I,P)     (((D)->aDb[I].flags&(P))==(P))#define DbHasAnyProperty(D,I,P)  (((D)->aDb[I].flags&(P))!=0)#define DbSetProperty(D,I,P)     (D)->aDb[I].flags|=(P)#define DbClearProperty(D,I,P)   (D)->aDb[I].flags&=~(P)/*** Allowed values for the DB.flags field.**** The DB_Locked flag is set when the first OP_Transaction or OP_Checkpoint** opcode is emitted for a database.  This prevents multiple occurances** of those opcodes for the same database in the same program.  Similarly,** the DB_Cookie flag is set when the OP_VerifyCookie opcode is emitted,** and prevents duplicate OP_VerifyCookies from taking up space and slowing** down execution.**** The DB_SchemaLoaded flag is set after the database schema has been** read into internal hash tables.**** DB_UnresetViews means that one or more views have column names that** have been filled out.  If the schema changes, these column names might** changes and so the view will need to be reset.*/#define DB_Locked          0x0001  /* OP_Transaction opcode has been emitted */#define DB_Cookie          0x0002  /* OP_VerifyCookie opcode has been emiited */#define DB_SchemaLoaded    0x0004  /* The schema has been loaded */#define DB_UnresetViews    0x0008  /* Some views have defined column names *//*** Each database is an instance of the following structure.**** The sqlite.file_format is initialized by the database file** and helps determines how the data in the database file is** represented.  This field allows newer versions of the library** to read and write older databases.  The various file formats** are as follows:****     file_format==1    Version 2.1.0.**     file_format==2    Version 2.2.0. Add support for INTEGER PRIMARY KEY.**     file_format==3    Version 2.6.0. Fix empty-string index bug.**     file_format==4    Version 2.7.0. Add support for separate numeric and**                       text datatypes.**** The sqlite.temp_store determines where temporary database files

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久综合精品| 日本乱人伦一区| 亚洲欧洲综合另类在线| 欧美日韩综合一区| 国产高清不卡二三区| 夜夜嗨av一区二区三区网页 | 亚洲人成7777| 精品国内二区三区| 欧美丝袜丝nylons| 成人av电影免费在线播放| 青草av.久久免费一区| 亚洲欧美日韩系列| 久久久国产一区二区三区四区小说| 在线观看91视频| 成人v精品蜜桃久久一区| 精品一区二区三区香蕉蜜桃| 一区二区激情小说| 椎名由奈av一区二区三区| 久久午夜色播影院免费高清 | 久久伊人蜜桃av一区二区| 欧美色图激情小说| 99久久精品免费观看| 成人污视频在线观看| 国内精品久久久久影院薰衣草 | 欧美人成免费网站| 色悠久久久久综合欧美99| 国产成人免费视频网站| 老色鬼精品视频在线观看播放| 亚洲男人的天堂在线aⅴ视频| 欧美老年两性高潮| 欧洲生活片亚洲生活在线观看| 4hu四虎永久在线影院成人| 99久久免费视频.com| 国产综合成人久久大片91| 亚洲二区在线视频| 国产精品传媒视频| 精品免费一区二区三区| 欧美区视频在线观看| 91精品办公室少妇高潮对白| 成人黄页毛片网站| 国产精品原创巨作av| 麻豆专区一区二区三区四区五区| 亚洲影视在线播放| 综合久久给合久久狠狠狠97色| 欧美精品一区二区三区在线| 欧美日本在线观看| 欧美午夜精品理论片a级按摩| 国产成人午夜电影网| 久久精品噜噜噜成人av农村| 午夜欧美视频在线观看| 中文字幕一区日韩精品欧美| 久久久久久久久久久久电影| 精品日韩av一区二区| 日韩一区二区影院| 91精品国产免费| 91精品久久久久久久91蜜桃| 在线电影院国产精品| 欧美日韩激情一区二区三区| 欧美日韩国产123区| 欧美日韩不卡一区| 67194成人在线观看| 欧美日韩成人一区| 欧美一区二区播放| 日韩一区二区高清| 欧美日产国产精品| 欧美在线色视频| 91精品综合久久久久久| 制服丝袜亚洲播放| 欧美一区二区三区系列电影| 欧美一级理论性理论a| 欧美精品高清视频| 精品日本一线二线三线不卡| 日韩片之四级片| 久久色.com| 国产女主播一区| 中文字幕一区二区三区视频| 亚洲男同1069视频| 午夜精品福利在线| 美日韩黄色大片| 国产精品资源在线观看| 国产成人精品1024| 97久久超碰精品国产| 欧美视频在线观看一区| 欧美欧美午夜aⅴ在线观看| 久久久亚洲欧洲日产国码αv| 国产日韩综合av| 亚洲男人的天堂一区二区| 天天亚洲美女在线视频| 国内精品自线一区二区三区视频| 不卡的电影网站| 一本久久a久久精品亚洲| 欧美人狂配大交3d怪物一区| 久久亚洲精精品中文字幕早川悠里| 国产嫩草影院久久久久| 亚洲黄色免费网站| 美女免费视频一区| 成人在线综合网| 欧美日韩在线一区二区| 日韩欧美国产午夜精品| 亚洲欧美综合在线精品| 日韩主播视频在线| 国产激情91久久精品导航| 在线视频综合导航| 精品福利在线导航| 亚洲欧美中日韩| 久久9热精品视频| 99久久99久久精品国产片果冻| 91精品欧美一区二区三区综合在| 久久久久久久综合| 亚洲v精品v日韩v欧美v专区| 国产精品99久久久| 欧美无人高清视频在线观看| 欧美激情在线观看视频免费| 亚洲18色成人| 成人精品亚洲人成在线| 精品美女在线观看| 一区二区三区欧美日| 国产精品一区二区黑丝| 6080亚洲精品一区二区| 亚洲人成在线播放网站岛国| 国产一区在线观看麻豆| 欧美日韩免费电影| 欧美国产97人人爽人人喊| 奇米色一区二区| 色综合久久久久久久| 日韩精品影音先锋| 4438成人网| 一区二区三区毛片| 国产成人精品免费| 精品国产伦一区二区三区观看体验 | 99热在这里有精品免费| 精品久久久久久久久久久久包黑料| 亚洲精品午夜久久久| 成人精品视频一区| 26uuu亚洲综合色| 亚洲成人你懂的| 欧美三区在线视频| 亚洲欧美aⅴ...| 成人黄色国产精品网站大全在线免费观看 | 99re66热这里只有精品3直播 | 麻豆精品视频在线观看免费| 欧美巨大另类极品videosbest| 国产婷婷色一区二区三区在线| 青青草97国产精品免费观看无弹窗版| 成人免费电影视频| 精品成人私密视频| 麻豆免费精品视频| 日韩午夜精品电影| 蜜桃久久精品一区二区| 91精品久久久久久久91蜜桃| 亚洲午夜一区二区| 在线观看日韩高清av| 伊人色综合久久天天| 99久久er热在这里只有精品66| 国产欧美日韩精品一区| 成人午夜视频网站| 国产网站一区二区| 成人一区二区三区视频在线观看 | 一区二区三区精品视频在线| 一本到三区不卡视频| 国产精品久久一卡二卡| 成人免费视频免费观看| 精品乱码亚洲一区二区不卡| 一区二区三区四区视频精品免费 | 国产成人8x视频一区二区| 久久久国产综合精品女国产盗摄| 国产精品一区二区久激情瑜伽| 国产欧美精品国产国产专区| 波多野洁衣一区| 亚洲精品视频一区| 欧美艳星brazzers| 日韩av高清在线观看| 欧美精品一区二区三区久久久| 精彩视频一区二区| 欧美极品aⅴ影院| 国产99久久精品| 久久精品一区蜜桃臀影院| 国产成人精品三级| 国产精品入口麻豆九色| 91视频在线看| 日本欧美肥老太交大片| 久久久久久麻豆| 91在线视频18| 亚洲va欧美va天堂v国产综合| 日韩一区二区精品| 成人手机在线视频| 中文字幕中文字幕在线一区| 91麻豆精东视频| 日韩精品电影一区亚洲| 久久久www免费人成精品| 色欧美乱欧美15图片| 日韩中文字幕不卡| 国产日韩欧美精品一区| 色先锋资源久久综合| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美国产日本韩| 欧美日韩国产天堂| 美女免费视频一区| 久久综合国产精品| 91网站视频在线观看|