Small. Fast. Reliable.
Choose any three.
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递增。

在过去的五年(2010-2015年)中,SQLite的增强速度约为每年Y的6个增量。SQLITE_VERSION_NUMBERsqlite3_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树存储引擎,该引擎仅支持文本键和数据。SQLite的所有现代版本(目前为3.0.0)都使用b树存储引擎,该引擎完全支持二进制数据和Unicode。

从历史上看,主要版本号X仅在对代码进行大而重要的更改时才递增。构成“大而重要”的是主观的。从3.6.23到3.7.0的更改是添加了对WAL模式的支持的结果。3.7.17到3.8.0的更改是重写的结果,被称为 下一代查询计划程序

对于未显着改变代码结构的新功能和/或新接口,次要版本号Y在历史上一直递增。的加入公共表表达式部分指标指标上的表达是“小”的变化的例子。同样,“主要”和“次要”之间的区别是主观的。

历史上,补丁程序级别Z仅用于仅更改少量代码行的错误修复版本。

1.3。版本记录