SQLite 发布 3.39.2 于 2022-07-21

版本 3.39.0 (2022-06-25) 的变化:

  1. 添加(早该)对RIGHT 和 FULL OUTER JOIN的支持。
  2. 添加新的二进制比较运算符IS NOT DISTINCT FROMIS DISTINCT FROM ,它们分别等效于 IS 和 IS NOT,以与 PostgreSQL 和 SQL 标准兼容。
  3. 从sqlite3_vtab_distinct()接口添加一个新的返回代码(值“3”) ,指示同时具有 DISTINCT 和 ORDER BY 子句的查询。
  4. 添加了sqlite3_db_name()接口。
  5. unix 操作系统接口解析数据库文件名中的所有符号链接,以便在打开文件之前为数据库创建规范名称。
  6. 推迟实体化视图,直到实际需要实体化,从而避免在实体化从未被使用时进行不必要的工作。
  7. 现在允许在任何聚合查询中使用SELECT 语句HAVING 子句,甚至是没有GROUP BY 子句的查询。
  8. 许多微优化共同将 CPU 周期减少了大约 2.3%。

版本 3.39.1 (2022-07-13) 的其他更改:

  1. 修复使用包含复合 SELECT 的视图的查询的不正确结果,其中只有一个分支包含 RIGHT JOIN,并且视图不是包含该视图的查询的第一个 FROM 子句术语。 论坛帖子 174afeae5734d42d
  2. 修复一些无害的编译器警告。
  3. 修复了ALTER TABLE RENAME的一个长期存在的问题,该问题只有在sqlite3_limit ( SQLITE_LIMIT_SQL_LENGTH ) 设置为非常小的值时才会出现。
  4. 修复FTS3中一个长期存在的问题,该问题只有在使用SQLITE_ENABLE_FTS3_PARENTHESIS编译时选项编译时才会出现。
  5. 修复构建,以便在同时提供 SQLITE_DEBUGSQLITE_OMIT_WINDOWFUNC编译时选项时工作。
  6. 修复REGEXP扩展的初始前缀优化,即使前缀包含需要 3 字节 UTF8 编码的字符,它也能正常工作。
  7. 增强sqlite_stmt虚拟表,以便它缓冲所有输出。

版本 3.39.2 (2022-07-21) 的其他更改:

  1. 修复查询规划器中与在存在 LEFT JOIN 的情况下重新排列 FROM 子句项的顺序相关的性能回归。
  2. 修复 CVE-2022-35737、Chromium 错误 1343348 和 1345947、 论坛帖子 3607259d3c以及内部测试发现的其他小问题。

    哈希:

  3. SQLITE_SOURCE_ID:2022-07-21 15:24:47 698edb77537b67c41adc68f9b892db56bcf9a55e00371a61420f3ddd668e6603
  4. sqlite3.c 的 SHA3-256:bffbaafa94706f0ed234f183af3eb46e6485e7e2c75983173ded76e0da805f11

单页中完整 SQLite 版本列表和年表也都可用。 SQLite 版本控制站点提供了每次签入的详细历史记录