您的位置:首页 > IT > 正文

每日焦点!SQLite 3.40.1 发布

来源:OSCHINA     时间:2022-12-31 07:21:54


(资料图片仅供参考)

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

SQLite 3.40.1现已正式发布,更新内容如下:

添加对将SQLite 编译为 WASM并在 Web 浏览器中运行的支持。注意:WASM build 及其 interfaces 被认为是“beta”,如果需要,可能会进行微小的更改;预计会在下一个版本中最终确定 interface。 添加可能能够从损坏的数据库文件中恢复某些内容recovery extension。 Query planner enhancements: 识别超过 63 列的表的covering indexe,其中超过 63 列的列用于查询和/或由索引引用。 在可行的情况下提取表达式索引中包含的表达式的值,而不是重新计算表达式。 NOT NULL 和 IS NULL 运算符(及其等效项)避免从磁盘加载大字符串和 BLOB 值的内容。 避免具体化仅执行一次完整扫描的视图。 允许 flattening 作为聚合查询中 LEFT JOIN 右侧操作数的子查询。 添加了一个名为sqlite3_filename的新类型定义,用于表示数据库文件的名称。各种接口被修改为使用新的 typedef 而不是“char*”。此接口更改应完全向后兼容,尽管它可能会在重建某些遗留应用程序时导致(无害的)编译器警告。 添加sqlite3_value_encoding()接口。 安全性增强:增强了SQLITE_DBCONFIG_DEFENSIVE以禁止更改schema_version。schema_version 在 defensive mode 更多详情可查看:下变为只读。 对PRAGMA integrity_check语句的增强: 具有 TEXT 关联的 non-STRICT 表中的列不应包含数值。 具有 NUMERIC 亲和力的 non-STRICT 表中的列不应包含可以转换为数字的 TEXT 值。 验证WITHOUT ROWID表的行的顺序是否正确。 增强VACUUM INTO语句,使其支持 PRAGMA 同步设置。 增强sqlite3_strglob()和sqlite3_strlike()API,以便它们能够为它们的字符串参数接受 NULL 指针,并且仍然生成合理的结果。 提供新的SQLITE_MAX_ALLOCATION_SIZE编译时选项以限制内存分配的大小。 将 SQLite 内置的伪随机数生成器 (PRNG) 使用的算法从 RC4 更改为 Chacha20。 允许两个或多个索引具有相同的名称,只要它们都在不同的模式中。 其他性能优化导致典型工作负载上使用的 CPU 周期减少约 1%。 修复CLI 的--safe command-line 选项,使其正确地禁止使用可能导致有害副作用的 SQL 函数,如 writefile()。 修复memsys5备用内存分配器中潜在的无限循环。此错误是由版本 3.39.0 中的性能优化引入的。 各种其他修复。

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

相关文章