IT资讯 SQLite 3.40.1 发布

solomon · 2022-12-31 12:00:05 · 热度: 9

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

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

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

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

 

为您推荐与 sqlite 相关的帖子:

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册