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