DeepSeek总结的SQLite 数据库的版本更新历史摘要

SQLite 数据库的版本更新历史摘要,覆盖了从 2025 年 11 月到 2026 年 3 月的多个主要版本。以下是核心内容总结:


一、2026-03-01 (3.52.0) -- 重要功能更新

  • ALTER TABLE 增强 :支持添加/删除 NOT NULLCHECK 约束。
  • 新编译选项SQLITE_PREPARE_FROM_DDL,允许虚拟表安全地准备基于数据库模式派生的 SQL 语句。
  • 查询结果格式化库 (QRF)
    • 新增 QRF 库,用于在等宽字体屏幕上格式化查询结果,提升可读性。
    • TCL 接口新增 format 方法以支持 QRF。
    • CLI 工具默认在交互会话中使用 QRF,以 Unicode 框线字符展示表格,批处理模式仍保持兼容性。
  • CLI 工具改进
    • 增强 .mode 命令。
    • 忽略点命令末尾的未引号分号(可能引入不兼容性)。
    • 修复 .testcase.check 命令,并用于标准测试套件。
    • 支持将 *.sql*.txt 文件作为命令行参数直接执行。
  • 新 C 语言接口
    • sqlite3_str_truncate()sqlite3_str_free()
    • SQLITE_LIMIT_PARSER_DEPTH

二、2026-01-09 (3.51.2) -- 错误修复

  • 修复了 3.51.0 中引入的 POSIX 锁检测逻辑的死锁问题
  • 修复了 EXISTS 转 JOIN 优化 导致的多个问题。
  • 其他小规模错误修复。

三、2025-11-28 (3.51.1) -- 错误修复

  • 修复了 3.51.0 中 嵌套 EXISTS 查询因优化导致结果错误的问题。
  • 修复了 fts5vocab 虚拟表中的一个潜在 bug。

四、2025-11-04 (3.51.0) -- 功能与性能增强

  • 新宏定义SQLITE_SCM_BRANCHSQLITE_SCM_TAGSSQLITE_SCM_DATETIME,用于获取源代码分支、标签和提交时间信息。
  • JSON 扩展 :新增 jsonb_each()jsonb_tree() 函数,返回 JSONB 格式的 value 列。
  • 内置扩展carraypercentile 扩展现已集成到代码库中,需编译时启用。
  • TCL 接口增强
    • eval 命令新增 -asdict 标志,以字典形式返回行数据。
    • 用户定义函数可返回 SQL NULL。
  • CLI 改进
    • 提高 .timer 精度至微秒。
    • 改进 boxcolumn 模式对宽字符的处理。
    • 新增 .imposter 命令(支持 VACUUM 的只读虚拟表)。
    • 新增 --ifexists 选项。
  • 性能优化
    • 减少读事务提交的 CPU 开销。
    • 提前检测因空表导致无结果的 JOIN。
    • 避免不必要的标量子查询计算。
    • 优化 BETWEEN ... FOLLOWING 窗口函数性能。
  • 新 API 与功能
    • sqlite3_set_errmsg()(供扩展使用)。
    • sqlite3_db_status64()(64 位结果版本)。
    • SQLITE_DBSTATUS_TEMPBUF_SPILL 状态选项。
    • sqlite3changeset_apply_v3()(session 扩展)。
  • 其他改进
    • 改进 printf()/format() 对负浮点数的显示逻辑。
    • 增强 FTS5 错误信息。
    • 对计算列强制 STRICT 类型。
    • 提升对 VxWorks 和 64 位 WASM 的支持。
    • 增强对异常 POSIX 锁破坏的防护。

总结

SQLite 在近期版本中持续强化 数据完整性、查询性能、开发工具链和跨平台支持 。3.52.0 引入的 QRF 格式化输出ALTER TABLE 增强 是面向开发者和运维的重要改进,而 3.51.x 系列则着重于 稳定性修复与性能调优。整体版本迭代体现了 SQLite 在保持轻量级的同时,不断提升用户体验与系统鲁棒性的发展方向。

相关推荐
风象南20 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶20 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶20 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
罗西的思考1 天前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab1 天前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab1 天前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸1 天前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云1 天前
可观测性 4.0:教系统如何思考
人工智能
sunny8651 天前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔1 天前
OpenClaw 多Agent软件开发最佳实践指南
人工智能