Version Numbers in SQLite
SQLite中的版本号
1. SQLite版本号
从版本3.9.0(2015-10-14)开始,SQLite使用语义版本控制。在此之前,SQLite采用了包含两到四个数字的版本标识符。
1.1. 新版本号码系统(2015-10-14之后)
从3.9.0开始的所有SQLite版本都使用XYZ形式的三个数字的“ 语义版本 ”。第一个数字X只有在存在改变后向兼容性的变化时才会增加。X的当前值是3,并且SQLite开发人员计划至少在2050年前支持当前的SQLite数据库文件格式,SQL语法和C接口。因此,可以预计未来几年的所有SQLite版本数十年将以“3”开头。
对于通过添加新功能来打破兼容性的任何更改,第二个数字Y会递增。大多数未来的SQLite版本都会增加第二个数字Y.当Y增加时,Z被重置为零。
第三个数字Z增加了只包含实现性能增强和/或错误修复的小改动的版本。
SQLite在过去五年(2010-2015年)的增强速度大约是每年增加6个Y 。SQLITE_VERSION_NUMBER和sqlite3_libversion_number()使用的编号格式允许版本高达3.999.999,这足以满足2050年计划的SQLite支持结束日期。但是,当前的tarball命名对于Y仅保留两位数,因此下载的命名格式需要在2030年左右进行修改。
1.2. 历史编号系统(2015-10-14之前)
此历史版本编号系统使用两个,三个或四个数字版本:WX,WXY或WXYZ W是文件格式:1或2或3. X是主要版本。Y是次要版本。Z仅用于修补程序发布来修复错误。
SQLite有三种历史文件格式。SQLite的1.0到1.0.32中使用的GDBM库作为其存储引擎;SQLite 2.0.0到2.8.17使用了只支持文本键和数据的定制b-tree存储引擎。所有现代版本的SQLite(3.0.0到现在)都使用了一个b-tree存储引擎,它完全支持二进制数据和Unicode。
在历史上,这个主版本号X只是对代码的大的和重要的改变才增加。构成“大而重要”的是主观的;3.6.23到3.7.0的变化是由于增加了对WAL模式的支持;3.7.17至3.8.0的更改是重写的结果,被称为下一代查询规划器。
在历史上,次要版本号Y增加了新功能和/或新接口,这些新接口没有显着改变代码结构。在表达式中添加公用表达式,部分索引和索引表达式都是“minor”更改的示例。再次,“major”和“minor”之间的区别是主观的。
历史上,修补程序级别Z仅用于仅更改少量代码行的修复程序修补程序版本。
1.3. 历史版本
- 更改日志
SQLite is in the Public Domain.