Small. Fast. Reliable.
Choose any three.

SQLite版本3.25.2(2018-09-25)

版本3.25.0(2018-09-15)中的更改:

  1. 添加对窗口功能的支持
  2. 增强了ALTER TABLE命令:
    1. 添加对使用ALTER TABLERENAME COLUMN oldname TO newname重命名表中列的支持。
    2. 修复表重命名功能,以便它还可以在触发器视图中更新对重命名表的引用。
  3. 查询优化器改进:
    1. 避免在聚合查询中不在聚合函数内且不属于GROUP BY子句的不必要的列加载。
    2. IN-early-out优化:在多列索引上查找并且在除最左边的列以外的其他列上使用IN运算符时,如果没有任何行与第一个IN值匹配,请检查以在继续下一个IN值之前,请确保存在与右列匹配的行。
    3. 使用可传递属性尝试在WHERE子句中传播常量值。例如,将“ a = 99 AND b = a”转换为“ a = 99 AND b = 99”。
  4. 在unix VFS中的每个inode上使用单独的互斥锁,而不是在它们之间共享一个互斥锁,以便在多线程环境中实现更好的并发性。
  5. 增强PRAGMA完整性检查命令,以改进对页面空闲列表中问题的检测。
  6. 命令行shell的“ .dump”命令中将无穷大输出为1e999 。
  7. 添加了SQLITE_FCNTL_DATA_VERSION文件控件。
  8. 添加了Geopoly模块

    Bug修复:

  9. 由于查询优化器中的次要缺陷的汇合,在非常晦涩的情况下,ORDER BY LIMIT优化可能导致预准备语句的字节码中出现无限循环。修复票号 9936b2fa443fec03ff25
  10. 在UPSERT上,如果重新排列了约束检查的顺序,请确保对插入内容的亲和力转换发生在任何约束检查之前。修复票 79cad5e4b2e219dd197242e9e的问题
  11. 在被“ .eqp full”逻辑关闭后,请避免对CLI的“ .stats on”命令使用准备好的语句 。修复票证 7be932dfa60a8a6b3b26bcf76
  12. LIKE优化生成了错误的字节码,因此如果左侧操作数具有数字亲和力且右侧模式为'/%'或模式以ESCAPE字符开头,则会得到错误的答案。票证c94369cae9b561b1f996d0054b的修复

版本3.25.1(2018-09-18)中的其他更改:

  1. 当要修改的表具有更新虚拟表的触发器时,在3.25.0版本中添加到ALTER TABLE的额外的完整性检查有时会引发假阳性。误报使ALTER TABLE回滚,从而使架构保持不变。机票b41031ea2b537237
  2. 3.25.0版本中针对与ORDER BY LIMIT优化相关联的字节码中的无限循环的修复不适用于某些涉及窗口函数的查询。需要进行其他更正。门票 510cde277783b5fb

版本3.25.2(2018-09-25)中的其他更改:

  1. 添加PRAGMA legacy_alter_table = ON命令,该命令使“ ALTER TABLE RENAME”命令的行为与SQLite 3.24.0及更早版本中的行为相同:触发器和视图主体中对重命名表的引用不会更新。这个新的实用程序为期望较旧的ALTER TABLE RENAME较旧行为的程序提供了兼容性解决方案。
  2. 修复了新的窗口函数实现的问题,当在视图内部使用涉及窗口函数的复杂表达式时,该问题会导致故障。
  3. 修复了其他各种编译器警告以及与晦涩的配置相关的小问题。

    散列:

  4. SQLITE_SOURCE_ID:“ 2018-09-25 19:08:10 fb90e7189ae6d62e77ba3a308ca5d683f90bbe633cf681865365b8e92792d1c7”
  5. sqlite3.c的SHA3-256:34c23ff91631ae10354f8c9d62fd7d65732b3d7f3acfd0bbae31ff4a62fe28af

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