转自:http://www.cnblogs.com/hustcat/archive/2009/03/06/1398896.html
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 表头文件 |