SQLite Version3.3.6源代码文件结构
| Version 3.3.6源代碼文件結(jié)構(gòu) ???????????????????????????????????????????????——整理:hustcat?2009-2-19 | ||
| 文件名稱 | 大小byte | 備注 |
| API部分 | ||
| main.c | 35414 | SQLite Library的大部分接口 |
| legacy.c | 3734 | sqlite3_exec的實(shí)現(xiàn) |
| table.c | 5464 | the sqlite3_get_table() and sqlite3_free_table()的實(shí)現(xiàn),它們是sqlite3_exec的包裝 |
| preprare.c | 17983 | 主要實(shí)現(xiàn)sqlite3_prepare() |
| ? | ? | ? |
| 分詞器部分(Tokenizer) | ||
| tokenize.c | 14495 | 分詞器的實(shí)現(xiàn) |
| 語(yǔ)法分析器部分(Parser) | ||
| parser.c | 116917 | 分析器的實(shí)現(xiàn),由Lemon實(shí)現(xiàn) |
| parser.h | 6847 | 分析器內(nèi)部定義的關(guān)鍵字 |
| ? | ? | ? |
| 代碼生成器部分(Code Generator) | ||
| update.c | 23878 | 處理UPDATTE語(yǔ)句 |
| delete.c | 21978 | 處理DELETE語(yǔ)句 |
| insert.c | 62026 | 處理INSERT語(yǔ)句 |
| trigger.c | 29065 | 處理TRIGGER語(yǔ)句 |
| attach.c | 15941 | 處理ATTACHT?和DEATTACH語(yǔ)句 |
| select.c | 112084 | 處理SELECT語(yǔ)句 |
| where.c | 75826 | 處理WHERE語(yǔ)句 |
| vacuum.c | 11005 | 處理VACUUM語(yǔ)句 |
| pragma.c | 34289 | 處理PRAGMA命令 |
| expr.c | 73963 | 處理SQL語(yǔ)句中的表達(dá)式 |
| auth.c | 7496 | 主要實(shí)現(xiàn)sqlite3_set_authorizer() |
| analyze.c | 13149 | 實(shí)現(xiàn)ANALYZE命令 |
| alter.c | 18414 | 實(shí)現(xiàn)ALTER TABLE功能 |
| build.c | 104052 | 處理以下語(yǔ)法: CREATE TABLE DROP TABLE CREATE INDEX DROP INDEX creating ID lists BEGIN TRANSACTION COMMIT ROLLBACK |
| func.c | 34335 | 實(shí)現(xiàn)SQL語(yǔ)句的函數(shù)語(yǔ)句 |
| date.c | 24031 | 與日期和時(shí)間轉(zhuǎn)換有關(guān)的函數(shù) |
| 虛擬機(jī)部分(Virtual Machine) | ||
| vdbeapi.c | 23300 | 虛擬機(jī)提供上層模塊調(diào)用的API實(shí)現(xiàn)部分 |
| vdbe.c | 143552 | 虛擬機(jī)的主要實(shí)現(xiàn)部分 |
| vdbe.h | 5309 | 定義了VDBE的接口,VdbeOp結(jié)構(gòu)體(代表一條指令) |
| vdbeaux.c | 58741 | Vdbe.h的接口的實(shí)現(xiàn) |
| vdbeInt.h | 17595 | Vdbe.c的私有頭文件,定義了VDBE常用的數(shù)據(jù)結(jié)構(gòu): Cursor——虛擬機(jī)中使用的游標(biāo) Mem——vdbe在內(nèi)部把所有的SQL值當(dāng)作一個(gè)Mem數(shù)據(jù)結(jié)構(gòu)來(lái)處理 Vdbe——虛擬機(jī)數(shù)據(jù)結(jié)構(gòu) |
| vdbemem.c | 26375 | 操作”Mem”數(shù)據(jù)結(jié)構(gòu)的函數(shù) |
| vdbefifo.c | 2927 | ? |
| ? | ? | ? |
| B-Tree部分 | ||
| btree.h | 5260 | 頭文件,定義了B-tree提供的操作接口 ? |
| btree.c | 215570 | B-Tree部分的主要實(shí)現(xiàn),并定義了以下數(shù)據(jù)結(jié)構(gòu): Btree——Btree handler BtCursor——使用的游標(biāo) BtLock——鎖 BtShared——包含了一個(gè)打開(kāi)的數(shù)據(jù)庫(kù)的所有信息 MemPage——文件在內(nèi)存存放在該數(shù)據(jù)結(jié)構(gòu)中 CellInfo |
| ? | ? | ? |
| Pager部分 | ||
| pager.h | 4161 | 定義sqlite page cache子系統(tǒng)提供的接口 |
| pager.c | 127490 | Pager模塊的主要實(shí)現(xiàn),并定義了以下數(shù)據(jù)結(jié)構(gòu): PgHdr——每一個(gè)內(nèi)存中的頁(yè)面的頁(yè)面頭 Pager——該模塊中最重要的數(shù)據(jù)結(jié)構(gòu) PgHistory |
| ? | ? | ? |
| OS Interface部分 | ||
| os.h | 18355 | 定義了為上層模塊提供的操作函數(shù),并定義了以下數(shù)據(jù)結(jié)構(gòu): OsFile——描述一個(gè)文件 IoMethod——OsFile所支持的操作函數(shù)(對(duì)所有架構(gòu)都適用的OS Interface) |
| os.c | 2866 | 對(duì)IoMethod中的函數(shù)的包裝 |
| os_win.c | 42975 | Windows平臺(tái)下的OS Interface |
| os_unix.c | 60831 | Unix平臺(tái)下的OS Interface |
| os_os2.c | 28451 | OS2平臺(tái)下的OS Interface |
| ? | ? | ? |
| 其它部分 | ||
| utf.c | 20891 | 與UTF編碼有關(guān)的函數(shù) |
| util.c | 43575 | 一些實(shí)用函數(shù),比如: sqlite3Malloc(),sqlite3FreeX() |
| sqlite3.h | 63873 | SQLite的頭文件,定義了提供給應(yīng)用使用的API和數(shù)據(jù)結(jié)構(gòu)。 |
| sqliteInt.h | 78886 | 定義了SQLite內(nèi)部使用的接口和數(shù)據(jù)結(jié)構(gòu) |
| printf.c | 29556 | 主要實(shí)現(xiàn)與printf有關(guān)的函數(shù) |
| random.c | 3078 | 隨機(jī)數(shù)生成 |
| hash.c | 11896 | SQLite使用的hash表 |
| hash.h | 4033 | Hash?表頭文件 |
總結(jié)
以上是生活随笔為你收集整理的SQLite Version3.3.6源代码文件结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SQL Server 表和索引存储结构
- 下一篇: 用C语言编写一个Linux下的简单she