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 表头文件
|