前端之家收集整理的这篇文章主要介绍了
SQLite学习(三) - SQLite源代码文件结构,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
sqlite Version3.3.6源代码文件结构
|
文件名称 |
大小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——文件在内存存放在该数据结构中,aCellInfo |
|
|
|
|
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表头文件 |