皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

SQLite 3.47.0发布

SQLite 3.47.0发布

允许 RAISE 函数的第二个参数中的任意表达式。

如果 ->> 运算符的 RHS 为负数,则访问从右侧计数的数组元素。

修复了在很少使用的 unix-dotfile VFS 中回滚热日志文件时出现的问题。

FTS5 表格现在可以被删除,即使它们使用非标准的分词器,即 尚未注册。

修复 group_concat() 聚合函数,使其返回空字符串 如果它接收到一个空字符串的 input 值,则不是 NULL。

增强 generate_series() 表值函数,使其能够 识别并使用对其 output 值的约束。

preupdate 钩子现在可以识别通过 ALTER TABLE ADD COLUMN 添加的列 具有非 null 默认值。

性能优化:

  1. 改进了与 IN 运算符关联的子查询的重用,尤其是在 由于谓词下推,IN 运算符已重复。
  2. 对 IN 运算符右侧的子查询使用 Bloom 筛选条件,以防这似乎可能会提高性能。
  3. 确保仅执行类似 “SELECT func(a) FROM tab GROUP BY 1” 的查询 每行调用一次 func() 函数。
  4. 不会尝试在已知的列上创建自动索引 设置为非选择性,因为它用于已分析的其他索引。
  5. 对查询计划程序的调整,以便它为 具有大量维度表的 star 查询。
  6. 添加 “order-by-subquery” 优化,旨在禁用排序操作 在外部查询中,如果所需的顺序是由于 ORDER BY 自然获得的 子句。
  7. “indexed-subtype-expr” 优化力求使用 是索引的一部分,而不是根据表值重新计算表达式, 只要 Query Planner 可以证明表达式的子类型永远不会被使用。
  8. 其他编码调整,以加快运行速度。

SQLite 相关命令行程序的增强功能:

  1. 添加实验性 sqlite3_rsync 程序。
  2. 添加扩展函数 median()、percentile()percentile_cont()、 和 percentile_disc() 添加到 CLI
  3. 将 .www dot-command 添加到 CLI
  4. sqlite3_analyzer 实用程序现在提供统计数据的细分 对于 WITHOUT ROWID 表。
  5. sqldiff 实用程序避免在第二个参数 不存在。

增强 sqlite_dbpage 表值函数,以便可以使用 INSERT 以增加或减小数据库文件的大小。

SQLite 不再使用“long double”数据类型,因为硬件支持 因为 long double 变得越来越不常见,而 long double 为 一些编译器工具链。相反,当需要扩展精度时,SQLite 使用 Dekker 的算法

SQLite 的 TCL 接口支持 TCL9。一切可能仍然有效 TCL 8.5 及更高版本,但不能保证。鼓励用户升级 到 TCL9。

JavaScript/WASM 的:

  1. 修复 JavaScript“opfs”VFS 中导致损坏的错误。
  2. 更正了 “opfs” VFS 的 “mode=ro” 处理。
  3. 解决几个特定于浏览器的 OPFS 怪癖。

FTS5 变化:

  1. 添加 fts5_tokenizer_v2 API 和 locale=1 选项,用于创建自定义 可能利用它们的区域设置感知分词器和FTS5表。
  2. 添加 contentless_unindexed=1 选项,用于创建无内容的 fts5 表格 ,它将任何 UNINDEXED 列的值持久存储在数据库中。
  3. 允许删除FTS5表,即使它使用自定义分词器,其 implementation 不可用。

散 列:

SQLITE_SOURCE_ID:2024-10-21 16:30:22 03a9703e27c44437c39363d0baf82db4ebc94538a0f28411c85dda156f82636e

sqlite3.c 的 SHA3-256:bcec3a4fbc97e973547924677332996ef64e06a6d10d22e2c2344f447536cc29

已有 0 条评论 新浪微博
已有 0 条评论 新浪微博
-->