
添加 sqlite3_setlk_timeout() 接口,该接口设置单独的超时, 与 sqlite3_busy_timeout() 不同,用于阻止 build 上的锁 支持阻塞锁。
SQLITE_DBCONFIG_ENABLE_COMMENTS 约束(在上一发行版中添加)略微放宽,以便注释 从预先存在的 sqlite_schema 表中读取架构时始终允许。仅在新 SQL 中阻止注释。
新的 SQL 函数:
对于内置 printf() 中的 %Q 和 %q 转换(包括 sqlite3_mprintf() API 和 format() SQL 函数等) alternate-form-1 标志位 (“#”) 导致控制字符转换为适合 Unistr() 的反斜杠转义符。
CLI 增强功能:
- 避免直接输出大多数控制字符。
- .dump 命令的输出使用新的 unistr() SQL 函数对特殊字符进行编码,除非 –escape 模式 设置为 off。
- 在输出中更好地格式化复杂的部分索引 从 “.schema –indent” 命令。
sqlite3_rsync增强功能:
- 已删除数据库处于 WAL 模式的要求。
- 同步协议得到增强,当 双方一开始彼此非常相似。
- sqlite3_rsync 程序现在可以在 Mac 上运行,而无需指定 远程端sqlite3_rsync可执行文件的完整路径名 只要您将 sqlite3_rsync 可执行文件安装在 以下目录之一:$HOME/bin:/usr/local/bin:/opt/homebrew/bin
对 JSON 函数的更改:
- 错误修复:强制实施 JSON5 限制,即 “\0” 转义后不得跟数字。
- 错误修复:当 json_group_object(LABEL,VALUE) 的 LABEL 参数为 NULL 时,将省略结果对象的该元素。
- 优化: 如果 jsonb_set() 或 jsonb_replace() 函数在 内部,他们努力保持 JSONB 对象保持不变,并在内部修改尽可能少的字节 的对象。这有助于减少 I/O,因为它允许 SQLite 仅写入 包含已更改字节的页面,而不是包含所有周围页面的页面。
改进了对在 Cygwin 和 MinGW 以及类似设备上构建的支持 饰演 Termux。
文档和源代码注释中的拼写错误修复。
其他性能改进。
JavaScript/WASM 的:
- 修复 OPFS 中长期存在的文件名摘要计算错误 SAHPool VFS.在该 VFS 3.50.0+ 中创建的数据库不能 可以被旧版本的 VFS 读取,但 3.50.0 可以 向后兼容创建的现有数据库 由旧版本。
散 列:
SQLITE_SOURCE_ID:2025-05-29 14:26:00 dfc790f998f450d9c35e3ba1c8c89c17466cb559f87b0239e4aab9d34e28f742
sqlite3.c 的 SHA3-256:b8a2bcdd2ec60f87c3bbe7a2c25eb65e476e40fe80cd066ab8aa98e5d516c1e4
Linuxeden开源社区