Small. Fast. Reliable.
Choose any three.

SQLite版本3.7.16.2(2013-04-12)

  1. 添加了PRAGMA foreign_key_check命令。
  2. 为所有SQLITE_CONSTRAINT错误添加了新的扩展错误代码
  3. 添加了SQLITE_READONLY_ROLLBACK扩展错误代码,用于无法打开数据库的情况,因为该数据库需要回滚恢复但为只读。
  4. 添加了SQL函数unicode(A)char(X1,...,XN)
  5. PRAGMAcremental_vacuum的性能改进,特别是在空闲页面数大于空闲列表的单个主干页面容纳的页面数的情况下。
  6. 改进了对包含聚合min()或max()的查询的优化。
  7. 增强虚拟表,以便在WHERE子句包含IN运算符时它们可以潜在地使用索引。
  8. 即使索引的先前项受WHERE子句中的IN运算符约束,也允许将索引用于排序。
  9. 增强PRAGMA table_info命令,以使“ pk”列是一个递增的整数,以显示主键中列的顺序。
  10. 增强查询优化器以利用可传递联接约束。
  11. 查询优化器中的性能改进。
  12. 允许来自PRAGMA integrity_check的错误消息长于20000字节。
  13. 改进了深度嵌套查询的名称解析。
  14. 添加了test_regexp.c模块,以演示如何实现REGEXP运算符。
  15. 改进了RTREE扩展中的错误消息。
  16. 增强命令行外壳程序,以使“ .exit”命令的非零参数使外壳程序立即退出,而无需彻底关闭数据库连接。
  17. 改进了针对命令行shell中dot-commands的布尔值无效布尔参数的错误消息。
  18. 改进了针对“外键不匹配”的错误消息,其中显示了所涉及的两个表的名称。
  19. 在UNIX VFS中删除对umask()的所有使用。
  20. 添加了PRAGMA vdbe_addoptracePRAGMA vdbe_debug命令。
  21. 比较非零终止的字符串时,更改为使用strncmp()或等效项而不是memcmp()。
  22. 更新cygwin接口以省略不推荐使用的API调用。
  23. 增强spellfix1扩展名,以便可以在运行时通过将“ edit_cost_table = TABLE”之类的字符串插入“命令”字段来更改编辑距离成本表。
  24. 错误修复:修复一个长期存在的问题,该问题可能导致在3向或更大连接中将INTEGER字段与TEXT字段在两个或多个位置进行比较的错误查询结果。门票FC7BD6358F
  25. 错误修复:如果视图上的16位引用计数器由于查询过于复杂而溢出,则发出错误消息。
  26. 漏洞修复:避免在深度嵌套的UNION ALL查询中的LIMIT和OFFSET子句上泄漏内存。
  27. 错误修复:在运行编译指示table_info,index_list,index_info和foreign_key_list之前,请确保架构是最新的。

  1. 修复了3.7.15版中引入的ORDER BY优化器中的错误,该错误 有时会在实际上需要排序时优化排序步骤。机票A179FE7465
  2. 修复了CAST表达式中的一个长期存在的错误,该错误会将UTF16字符识别为数字,即使它们的最高有效字节不为零也是如此。机票689137afb6da41
  3. 修复了应用于子字段时FTS3的NEAR运算符中的错误。门票38b1ae018f
  4. 修复了存储引擎中的一个长期存在的错误,该错误(很少)会导致虚假报告SQLITE_CORRUPT错误,但此错误是无害的。票证6bfb98dfc0c
  5. SQLITE_OMIT_MERGE_SORT选项已被删除。现在,合并排序器是SQLite的必需组件。
  6. 修复了源代码注释中的许多拼写错误

  1. 修复了一个错误(自3.7.13版本以来存在),如果两个或多个进程试图同时访问同一数据库文件,并且在提交同一文件的中间第三个进程崩溃后立即尝试访问同一数据库文件,则该错误可能导致Windows上的数据库损坏。有关更多信息,请参见票证 7ff3120e4f
  2. SQLITE_SOURCE_ID:“ 2013-04-12 11:52:43 cbea02d93865ce0e06789db95fd9168ebac970c7”
  3. sqlite3.c的SHA1:d466b54789dff4fb0238b9232e74896deaefab94

一个SQLite的版本的完整列表, 在一个单一的页面和年代都还可以。 SQLite版本控制站点上提供了每个签入的详细历史记录 。