SQLite 发布 3.39.2 于 2022-07-21
版本 3.39.0 (2022-06-25) 的变化:
- 添加(早该)对RIGHT 和 FULL OUTER JOIN的支持。
- 添加新的二进制比较运算符IS NOT DISTINCT FROM和IS DISTINCT FROM ,它们分别等效于 IS 和 IS NOT,以与 PostgreSQL 和 SQL 标准兼容。
- 从sqlite3_vtab_distinct()接口添加一个新的返回代码(值“3”) ,指示同时具有 DISTINCT 和 ORDER BY 子句的查询。
- 添加了sqlite3_db_name()接口。
- unix 操作系统接口解析数据库文件名中的所有符号链接,以便在打开文件之前为数据库创建规范名称。
- 推迟实体化视图,直到实际需要实体化,从而避免在实体化从未被使用时进行不必要的工作。
- 现在允许在任何聚合查询中使用SELECT 语句的HAVING 子句,甚至是没有GROUP BY 子句的查询。
- 许多微优化共同将 CPU 周期减少了大约 2.3%。
版本 3.39.1 (2022-07-13) 的其他更改:
- 修复使用包含复合 SELECT 的视图的查询的不正确结果,其中只有一个分支包含 RIGHT JOIN,并且视图不是包含该视图的查询的第一个 FROM 子句术语。 论坛帖子 174afeae5734d42d。
- 修复一些无害的编译器警告。
- 修复了ALTER TABLE RENAME的一个长期存在的问题,该问题只有在sqlite3_limit ( SQLITE_LIMIT_SQL_LENGTH ) 设置为非常小的值时才会出现。
- 修复FTS3中一个长期存在的问题,该问题只有在使用SQLITE_ENABLE_FTS3_PARENTHESIS编译时选项编译时才会出现。
- 修复构建,以便在同时提供 SQLITE_DEBUG和 SQLITE_OMIT_WINDOWFUNC编译时选项时工作。
- 修复REGEXP扩展的初始前缀优化,即使前缀包含需要 3 字节 UTF8 编码的字符,它也能正常工作。
- 增强sqlite_stmt虚拟表,以便它缓冲所有输出。
版本 3.39.2 (2022-07-21) 的其他更改:
- 修复查询规划器中与在存在 LEFT JOIN 的情况下重新排列 FROM 子句项的顺序相关的性能回归。
- 修复 CVE-2022-35737、Chromium 错误 1343348 和 1345947、
论坛帖子 3607259d3c以及内部测试发现的其他小问题。
哈希:
- SQLITE_SOURCE_ID:2022-07-21 15:24:47 698edb77537b67c41adc68f9b892db56bcf9a55e00371a61420f3ddd668e6603
- sqlite3.c 的 SHA3-256:bffbaafa94706f0ed234f183af3eb46e6485e7e2c75983173ded76e0da805f11
单页中的完整 SQLite 版本列表和年表也都可用。 SQLite 版本控制站点提供了每次签入的详细历史记录 。