孤独的猫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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 表头文件
posted on 2013-04-17 12:48  孤独的猫  阅读(554)  评论(0编辑  收藏  举报