Small. Fast. Reliable.
Choose any three.
SQLite版本3.16.2于2017-01-06
版本3.16.0(2017-01-02)中的更改:
- 使用的CPU周期减少了9%。(有关如何计算此性能提升的详细信息,请参阅CPU性能评估报告。)
- 增加了对PRAGMA功能的实验支持。
- 在sqlite3_db_config()中添加了SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE选项。
- 增强日期和时间功能,以使“ unixepoch”修饰符可在受支持日期的整个范围内使用。
- 将后备内存分配器的默认配置从每个128个字节的500个插槽更改为每个512个字节的125个插槽。
- 增强的“ WHERE x NOT NULL”部分索引,以便在“ x”列出现在LIKE或GLOB运算符中时可以使用。
- 增强的sqlite3_interrupt(),以便中断正在进行的检查点操作。
- 增强了LIKE和GLOB匹配算法,以在模式包含多个通配符的情况下更快。
- 添加了SQLITE_FCNTL_WIN32_GET_HANDLE文件控件操作码。
- 在命令行shell中添加了“ .mode quote” 。
- 在命令行shell中添加了“ .lint fkey-indexes” 。
- 在命令行shell中添加了.imposter dot-command。
- 添加了Remember(V,PTR)
SQL函数作为可加载的扩展。
- 将SQLITE_OMIT_BUILTIN_TEST编译时选项重命名为
SQLITE_UNTESTABLE,以更好地反映使用它的含义。
Bug修复:
- 修复了查询计划器中的一个长期错误,该错误在LEFT JOIN上导致错误的结果,在LEFT JOIN上,左侧表是子查询,而联接约束是来自左侧子查询的裸列名称。票证
2df0107b。
- 在查询计划程序中正确处理整数文字-0x8000000000000000。
版本3.16.1(2017-01-03)中的其他更改:
- 修复了有关在触发器中使用行值的错误
(请参见故障单8c9458e7),该错误在3.15.0版本中,但是直到3.16.0版本发布后才报告。
版本3.16.2(2017-01-06)中的其他更改:
- 修复缺少辅助索引的WITHOUT ROWID表的REPLACE语句,
以便它可以与触发器和外键一起正常使用。这是由3.16.0版中添加的性能优化引起的新错误。机票30027b613b4
- 修复sqlite3_value_text()接口,以便它正确地将zeroblob()生成的内容转换为所有0x00字符的字符串。这是OSS-Fuzz在3.16.1版本发布后发现的一个长期问题
- 修复字节码生成器,以处理FROM子句中的子查询,而FROM子句本身就是UNION ALL,其中UNION ALL的一侧是包含ORDER BY的视图。这是一个长期存在的问题,在3.16.1版本发布之后就被发现。请参阅票证
190c2507。
- 调整sqlite3_column_count() API,使其更经常返回PRAGMA语句的值,与以前的版本中的值相同,以最大程度地减少对可能以意外方式使用该接口的应用程序的破坏。
散列:
- SQLITE_SOURCE_ID:“ 2017-01-06 16:32:41 a65a62893ca8319e89e48b8a38cf8a59c69a8209”
- sqlite3.c的SHA1:2bebdc3f24911c0d12b6d6c0123c3f84d6946b08
一个SQLite的版本的完整列表,
在一个单一的页面和年代都还可以。
SQLite版本控制站点上提供了每个签入的详细历史记录
。