SQLite 3.42.0 发布

SQLite 是一个 C 语言库,实现了一个小型、快速、独立、高可靠性、全功能的 SQL 数据库引擎。SQLite 是世界上使用最多的数据库引擎。SQLite 的源代码属于公共领域,每个人都可以免费使用,用于任何目的。

SQLite 3.42.0 正式发布,更新内容如下:

  • 增加 FTS5 secure-delete 命令。当内容被删除时,这个选项会使所有取证分析从 FTS5 的倒置索引中被删除。
  • 增强 JSON SQL 函数以支持 JSON5 扩展
  • 现在允许对 sqlite3_config () 的 SQLITE_CONFIG_LOG 和 SQLITE_CONFIG_PCACHE_HDRSZ 调用发生在 sqlite3_initialize () 之后。
  • 新增了 sqlite3_db_config () 选项: SQLITE_DBCONFIG_STMT_SCANSTATUS 和 SQLITE_DBCONFIG_REVERSE_SCANORDER
  • 查询计划器的改进:
    • 默认启用 “count-of-view” 优化。
    • 避免在子查询中计算未使用的列。
    • 对下推优化的改进
  • 对 CLI 的改进:
    • 增加 –unsafe-testing 命令行选项。如果没有这个选项,一些点状命令(例如:”.testctrl”)现在被禁用,因为这些命令只用于测试,可能会导致故障误用。
    • 允许命令 .log on 和 .log off,即使在 –safe 模式下。
    • -- 作为一个命令行参数意味着所有以 - 开头的后续参数都被解释为普通的非选项参数。
    • Magic 参数 :inf 和 :nan 分别与浮点字元 Infinity 和 NaN 绑定。
    • –utf8 命令行选项在交互式会话中省略了所有与 Windows 控制台的 MBCS 的转换,并在这种会话中为 UTF-8 I/O 设置控制台代码页。–utf8 选项在所有其他平台上都是无用的。
  • 增加应用程序定义的 SQL 函数与连接关键字同名的能力: CROSS, FULL, INNER, LEFT, NATURAL, OUTER, 或 RIGHT。
  • 增强 PRAGMA integrity_check 的功能:
    • 当 NaN 值被存储在 NOT NULL 列中时,检测并引发一个错误。
    • 改进了错误信息输出,当在 b-tree 中发现错误时,可以识别 b-tree 的根页面。
  • 允许对会话扩展进行配置,以捕获缺乏明确 ROWID 的表的变化。
  • 为日期和时间函数添加了 subsecond 修改器。
  • 传入 sqlite3_sleep () 的负值从此被解释为 0。
  • JSON 数组和对象的最大递归深度从 2000 降低到 1000。
  • 扩展了内置的 printf () 函数,因此除了整数转换外,逗号选项现在也可以用于浮点转换。
  • 错误修复和性能优化

更多详情可查看:https://sqlite.org/releaselog/3_42_0.html

关注“AppFuns”微信公众号,发现更多有趣的产品