SQLite Version3.3.6源代碼檔案結構
Version 3.3.6源代碼檔案結構 ——整理:hustcat 2009-2-19 | ||
檔案名稱 | 大小byte | 備注 |
API部分 | ||
main.c | 35414 | SQLite Library的大部分接口 |
legacy.c | 3734 | sqlite3_exec的實作 |
table.c | 5464 | the sqlite3_get_table() and sqlite3_free_table()的實作,它們是sqlite3_exec的包裝 |
preprare.c | 17983 | 主要實作sqlite3_prepare() |
分詞器部分(Tokenizer) | ||
tokenize.c | 14495 | 分詞器的實作 |
文法分析器部分(Parser) | ||
parser.c | 116917 | 分析器的實作,由Lemon實作 |
parser.h | 6847 | 分析器内部定義的關鍵字 |
代碼生成器部分(Code Generator) | ||
update.c | 23878 | 處理UPDATTE語句 |
delete.c | 21978 | 處理DELETE語句 |
insert.c | 62026 | 處理INSERT語句 |
trigger.c | 29065 | 處理TRIGGER語句 |
attach.c | 15941 | 處理ATTACHT 和DEATTACH語句 |
select.c | 112084 | 處理SELECT語句 |
where.c | 75826 | 處理WHERE語句 |
vacuum.c | 11005 | 處理VACUUM語句 |
pragma.c | 34289 | 處理PRAGMA指令 |
expr.c | 73963 | 處理SQL語句中的表達式 |
auth.c | 7496 | 主要實作sqlite3_set_authorizer() |
analyze.c | 13149 | 實作ANALYZE指令 |
alter.c | 18414 | 實作ALTER TABLE功能 |
build.c | 104052 | 處理以下文法: CREATE TABLE DROP TABLE CREATE INDEX DROP INDEX creating ID lists BEGIN TRANSACTION COMMIT ROLLBACK |
func.c | 34335 | 實作SQL語句的函數語句 |
date.c | 24031 | 與日期和時間轉換有關的函數 |
虛拟機部分(Virtual Machine) | ||
vdbeapi.c | 23300 | 虛拟機提供上層子產品調用的API實作部分 |
vdbe.c | 143552 | 虛拟機的主要實作部分 |
vdbe.h | 5309 | 定義了VDBE的接口,VdbeOp結構體(代表一條指令) |
vdbeaux.c | 58741 | Vdbe.h的接口的實作 |
vdbeInt.h | 17595 | Vdbe.c的私有頭檔案,定義了VDBE常用的資料結構: Cursor——虛拟機中使用的遊标 Mem——vdbe在内部把所有的SQL值當作一個Mem資料結構來處理 Vdbe——虛拟機資料結構 |
vdbemem.c | 26375 | 操作”Mem”資料結構的函數 |
vdbefifo.c | 2927 | |
B-Tree部分 | ||
btree.h | 5260 | 頭檔案,定義了B-tree提供的操作接口 |
btree.c | 215570 | B-Tree部分的主要實作,并定義了以下資料結構: Btree——Btree handler BtCursor——使用的遊标 BtLock——鎖 BtShared——包含了一個打開的資料庫的所有資訊 MemPage——檔案在記憶體存放在該資料結構中 CellInfo |
Pager部分 | ||
pager.h | 4161 | 定義sqlite page cache子系統提供的接口 |
pager.c | 127490 | Pager子產品的主要實作,并定義了以下資料結構: PgHdr——每一個記憶體中的頁面的頁面頭 Pager——該子產品中最重要的資料結構 PgHistory |
OS Interface部分 | ||
os.h | 18355 | 定義了為上層子產品提供的操作函數,并定義了以下資料結構: OsFile——描述一個檔案 IoMethod——OsFile所支援的操作函數(對所有架構都适用的OS Interface) |
os.c | 2866 | 對IoMethod中的函數的包裝 |
os_win.c | 42975 | Windows平台下的OS Interface |
os_unix.c | 60831 | Unix平台下的OS Interface |
os_os2.c | 28451 | OS2平台下的OS Interface |
其它部分 | ||
utf.c | 20891 | 與UTF編碼有關的函數 |
util.c | 43575 | 一些實用函數,比如: sqlite3Malloc(),sqlite3FreeX() |
sqlite3.h | 63873 | SQLite的頭檔案,定義了提供給應用使用的API和資料結構。 |
sqliteInt.h | 78886 | 定義了SQLite内部使用的接口和資料結構 |
printf.c | 29556 | 主要實作與printf有關的函數 |
random.c | 3078 | 随機數生成 |
hash.c | 11896 | SQLite使用的hash表 |
hash.h | 4033 | Hash 表頭檔案 |