資源描述:
《sqlite代碼樹》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Version3.3.6源代碼文件結(jié)構(gòu)???????????????????????????????????????????????文件名稱大小byte備注API部分main.c35414SQLiteLibrary的大部分接口legacy.c3734sqlite3_exec的實(shí)現(xiàn)table.c5464thesqlite3_get_table()andsqlite3_free_table()的實(shí)現(xiàn),它們是sqlite3_exec的包裝preprare.c17983主要實(shí)現(xiàn)sqlite3_prepare()???分詞器部分(Tokenizer)
2、tokenize.c14495分詞器的實(shí)現(xiàn)語法分析器部分(Parser)parser.c116917分析器的實(shí)現(xiàn),由Lemon實(shí)現(xiàn)parser.h6847分析器內(nèi)部定義的關(guān)鍵字???代碼生成器部分(CodeGenerator)update.c23878處理UPDATTE語句delete.c21978處理DELETE語句insert.c62026處理INSERT語句trigger.c29065處理TRIGGER語句attach.c15941處理ATTACHT?和DEATTACH語句select.c112084處理SELECT語句where.c
3、75826處理WHERE語句vacuum.c11005處理VACUUM語句pragma.c34289處理PRAGMA命令expr.c73963處理SQL語句中的表達(dá)式auth.c7496主要實(shí)現(xiàn)sqlite3_set_authorizer()analyze.c13149實(shí)現(xiàn)ANALYZE命令alter.c18414實(shí)現(xiàn)ALTERTABLE功能build.c104052處理以下語法:CREATETABLEDROPTABLECREATEINDEXDROPINDEXcreatingIDlistsBEGINTRANSACTIONCOMMITROLL
4、BACKfunc.c34335實(shí)現(xiàn)SQL語句的函數(shù)語句date.c24031與日期和時(shí)間轉(zhuǎn)換有關(guān)的函數(shù)虛擬機(jī)部分(VirtualMachine)vdbeapi.c23300虛擬機(jī)提供上層模塊調(diào)用的API實(shí)現(xiàn)部分vdbe.c143552虛擬機(jī)的主要實(shí)現(xiàn)部分vdbe.h5309定義了VDBE的接口,VdbeOp結(jié)構(gòu)體(代表一條指令)vdbeaux.c58741Vdbe.h的接口的實(shí)現(xiàn)vdbeInt.h17595Vdbe.c的私有頭文件,定義了VDBE常用的數(shù)據(jù)結(jié)構(gòu):Cursor——虛擬機(jī)中使用的游標(biāo)Mem——vdbe在內(nèi)部把所有的SQL值當(dāng)作一
5、個(gè)Mem數(shù)據(jù)結(jié)構(gòu)來處理Vdbe——虛擬機(jī)數(shù)據(jù)結(jié)構(gòu)vdbemem.c26375操作”Mem”數(shù)據(jù)結(jié)構(gòu)的函數(shù)vdbefifo.c2927????B-Tree部分btree.h5260頭文件,定義了B-tree提供的操作接口?btree.c215570B-Tree部分的主要實(shí)現(xiàn),并定義了以下數(shù)據(jù)結(jié)構(gòu):Btree——BtreehandlerBtCursor——使用的游標(biāo)BtLock——鎖BtShared——包含了一個(gè)打開的數(shù)據(jù)庫的所有信息MemPage——文件在內(nèi)存存放在該數(shù)據(jù)結(jié)構(gòu)中CellInfo???Pager部分pager.h4161定義sq
6、litepagecache子系統(tǒng)提供的接口pager.c127490Pager模塊的主要實(shí)現(xiàn),并定義了以下數(shù)據(jù)結(jié)構(gòu):PgHdr——每一個(gè)內(nèi)存中的頁面的頁面頭Pager——該模塊中最重要的數(shù)據(jù)結(jié)構(gòu)PgHistory???OSInterface部分os.h18355定義了為上層模塊提供的操作函數(shù),并定義了以下數(shù)據(jù)結(jié)構(gòu):OsFile——描述一個(gè)文件IoMethod——OsFile所支持的操作函數(shù)(對所有架構(gòu)都適用的OSInterface)os.c2866對IoMethod中的函數(shù)的包裝os_win.c42975Windows平臺下的OSInter
7、faceos_unix.c60831Unix平臺下的OSInterfaceos_os2.c28451OS2平臺下的OSInterface???其它部分utf.c20891與UTF編碼有關(guān)的函數(shù)util.c43575一些實(shí)用函數(shù),比如:sqlite3Malloc(),sqlite3FreeX()sqlite3.h63873SQLite的頭文件,定義了提供給應(yīng)用使用的API和數(shù)據(jù)結(jié)構(gòu)。sqliteInt.h78886定義了SQLite內(nèi)部使用的接口和數(shù)據(jù)結(jié)構(gòu)printf.c29556主要實(shí)現(xiàn)與printf有關(guān)的函數(shù)random.c3078隨機(jī)數(shù)
8、生成hash.c11896SQLite使用的hash表hash.h4033Hash?表頭文件