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 2866IoMethod中的函数的包装
  os_win.c 42975 Windows平台下的OS Interface
  os_unix.c 60831 Unix平台下的OS Interface
  os_os2.c 28451 OS2平台下的OS Interface
       
       
其它部分 utf.c 20891UTF编码有关的函数
  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 表头文件


参考
http://www.cnblogs.com/hustcat/archive/2009/02/26/1398896.html
或"SQLite offical document - architecture" http://www.sqlite.org/arch.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值