SQLite Version3.3.6源代码文件结构
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 表头文件 |
SQLite Version3.3.6源代码文件结构相关推荐
- SQLite学习(三) - SQLite源代码文件结构
SQLite Version3.3.6源代码文件结构 文件名称 大小byte 备注 API main.c 35414 SQLite Library的大部分接口 legacy.c 3734 sq ...
- android源代码文件结构
转于:http://flysnow.iteye.com/blog/867424 Android 2.1 |-- Makefile |-- bionic ...
- 【编程实践】SQLite 极简教程
1 SQLite 教程 SQLite 简介 本教程帮助您了解什么是 SQLite,它与 SQL 之间的不同,为什么需要它,以及它的应用程序数据库处理方式. SQLite 是一个软件库,实现了自给自足的 ...
- SQLite安装、编译与应用
原文: https://www.cnblogs.com/5211314jackrose/p/5720100.html 什么是 SQLite SQLite是一款轻量级的.基于文件的嵌入式数据库,实现自包 ...
- sqllite事务和MySQL事务_Android学习---SQLite数据库的增删改查和事务(transaction)调用...
上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代 ...
- sqlite的编译、练习
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] sqlite之前一直听说过,但是没有怎么使用过.今天从sqlite的官方网站上下载了源码,也就 ...
- sqlite的交叉编译及移植 -转
平台: PC机:redhat9.0 arm板:at91sam9260/linux-2.6.22 交叉编译器:armv51-linux-gcc 1..从sqlite的官方网站下载sqlite的最新版本源 ...
- Qt操作SQLite数据库——创建、打开、关闭、增加、删除和修改操作
QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持. QSqlDatabase对象象征了数据库的关联.Qt使用驱 ...
- linux下sqlite安装及基本使用
目录 一. sqlite基本介绍 二. linux下安装sqlite3过程 方法一:apt 方法二:从官网下载sqlte的安装包解压安装 三. sqlite图形化管理界面DB Browser for ...
最新文章
- 下列关于python字典变量的定义中错误的是_python练习题-day14
- python3爬虫入门教程-Python3爬虫学习入门教程
- KVM中Virtio网络的演化之路
- SWOOLE httpserver
- GitHub 中文文档正式发布了!激动人心的大好事!
- win7安装mysql 5.7.25_Windows下安装mysql-5.7.25-winx64.zip
- 写一个工具生成数据库实体类
- Python—实训day6—爬取汽车消费投诉案例
- node将图片转换成html文件,node+puppeteer将整个网页html转换为图片并保存【滚动截屏】...
- ie浏览器剪贴板操作警告弹窗关闭方法
- 华三交换机配置多个镜像口_H3C交换机端口镜像配置的方法
- java获取泛型的类型_Java反射获取泛型类型
- SSH医院门诊就约系统答辩PPT免费下载
- LaTeX伪代码写法总结
- VS2015开发工具里面没有Arial字体怎么办?VS如何添加字体
- Bat| 批处理注释
- activeMQ启动失败61616port被占用问题
- BFM-总线功能模型
- Priest John's Busiest Day (2-sat)
- 快递查询 教你一个方法使用物流单号查询物流信息
热门文章
- 【C 语言】指针数据类型 ( 指针类型变量 | 使用 * 操作内存 )
- 【错误记录】Flutter 使用 MediaQuery 适配全面屏报错 ( No MediaQuery widget ancestor found. )
- 【运筹学】运输规划 ( 运输规划问题模型及变化 | 表上作业法引入 )
- 【计算机网络】数据链路层 : 差错控制 ( 检错编码 | 差错来源 | 差错分类 | 冗余编码 )
- python 在内网windows环境下pip三方包
- python学习_数据处理编程实例(一)
- 一、如何创建一个状态栏扩展(火狐插件扩展开发教程)
- (转)PWA(Progressive Web App)渐进式Web应用程序
- 感謝有PPStream這種好東西
- POJ 3275 Ranking the Cows (floyd传递闭包)