3.46.1 版本是一个修补程序版本,修复了 3.46.0 版本中的几个小问题。与上一个版本相比,变化很小。
3.46.0 版本是一个增强版本。增强功能包括
- 对 PRAGMA optimize 命令的改进
- 对 日期和时间函数 的增强
- 能够在数字文字中数字之间添加 "_" 以提高可读性
- 添加了 json_pretty() 函数
- 改进了查询计划器,特别是为包含许多项的 VALUES 子句提供了一种新的更快实现。
这些增强功能都不是关键性的。请在方便时更新。
3.45.3 版本是一个修补程序版本,修复了一些模糊的问题,包括这些问题都不是紧急问题。请在方便时升级。
- 如果触发器响应 UPSERT 而触发,则 UPDATE 触发器 中的 "old.*" 值可能不正确。
- sum() 函数在某些情况下可能会返回 NULL,而 Infinity 可能是更好的答案。
3.45.2 版本是对 SQLite 3.45.0 和 3.45.1 版本的修补程序。此修补程序的主要原因是修复两个由论坛帖子 919c6579c8 和 440f2a2f17 发现的三年前的错误。这些问题可能导致查询结果不正确或索引损坏。有关详细信息,请参阅相关的论坛主题。
此修补程序中还包含其他一些微不足道的修复。
3.45.1 版本是对 SQLite 3.45.0 版本的修补程序。此修补程序版本的主要重点是恢复 JSON SQL 函数 中某些未记录的遗留行为,开发人员对此一无所知,但某些应用程序已经依赖于此行为。此未记录的行为在 3.45.0 中被“修复”,导致使用它的应用程序出现故障。因此,它现在已被恢复并记录在案。
自 3.45.0 版本发布以来出现的其他模糊问题,一些与发布本身相关,一些可以追溯到几年前,也得到了修复。
3.45.0 版本是 SQLite 的增强版本。最具影响力的变化可能是对 JSON SQL 函数 的增强,因此它们现在能够将其内部 JSON 解析树存储在数据库中作为 BLOB 值。这可以显着提高处理大型 JSON 字符串的应用程序的性能,因为它无需在 SQLite 使用的内部二进制格式与 JSON 文本之间进行转换。
第二个值得注意的变化是,任何使用 sqlite3_result_subtype() 接口的 应用程序定义的 SQL 函数 现在都必须在使用 sqlite3_create_function() 或类似方法注册函数时包含 SQLITE_RESULT_SUBTYPE 属性。如果未在使用 sqlite3_result_subtype() 的函数上包含 SQLITE_RESULT_SUBTYPE 属性,可能会导致答案不正确。
请参阅 更改日志,了解 3.45.0 版本中包含的其他增强功能。
3.44.1 版本中的 CLI 修复引入了一个新的错误,该错误已由修补程序版本 3.44.2 修复。3.44.2 版本还修复了在 3.44.1 版本发布后几分钟由模糊测试发现的 FTS5 问题。
3.44.1 版本是一个修补程序版本,修复了各种模糊的错误。无需升级,除非您在使用先前版本时遇到问题。
3.44.0 版本是 SQLite 的新增强版本。距离上一个主要版本 (3.43.0) 发布仅 69 天。最初的计划是 3.44.0 版本与上一个版本之间的时间间隔约为 120 天。但是,代码积累了如此多的重要增强功能,以至于加快 3.44.0 版本的发布似乎更好,从而使这些增强功能得以流通。这意味着最初计划包含在 3.44.0 中的一些增强功能已被推迟到后续版本。
3.43.2 版本是一个修补程序版本,修复了 3.43.0 和 3.43.1 版本中的一些小错误。
3.43.1 版本是一个修补程序版本,修复了在发布 3.43.0 版本后在 3.43.0 和/或 3.42.0 版本中发现的一些小错误。
3.43.0 版本是 SQLite 的常规增强版本。此版本中的主要增强功能包括添加了对 无内容删除 FTS5 索引 的支持,以及对 JSON 处理 的性能改进。有关详细信息,请参阅 更改日志。
3.42.0 版本是 SQLite 的常规增强版本。此版本中的主要增强功能是添加了对 JSON5 和 FTS5 安全删除命令 的支持。有关此版本中所有增强功能的摘要,请参阅 更改日志。
3.41.2 版本是一个修补程序版本,修复了先前版本中的多个模糊测试发现的问题。最严重的问题包括读取(而不是写入)缓冲区的末尾。建议升级。
3.41.1 版本是一个修补程序版本,修复了 3.41.0 中发现并由用户报告的各种模糊问题。升级是可选的。
3.41.0 版本是一个常规增强版本。
3.40.1 版本是一个修补程序版本,修复了 3.40.0 版本中的一些模糊问题。修复的问题对大多数应用程序没有影响。只有在遇到问题时才需要升级。两个最重要的修复如下
修复 CLI 上的 安全命令行选项,使其正确禁止具有副作用的函数。这是 CLI 中的一个错误,而不是 SQLite 库中的错误,它仅影响 --safe 命令行选项,使该选项不完全“安全”。由于使用 CLI 中 --safe 命令行选项的系统数量大约为零,因此这不被视为重要错误。但是,第三方针对它编写了一个 CVE,这在维护人员中引起了相当大的焦虑,因此,将其修复发布到流通中似乎比等待下一个主要版本更好。
可选的 memsys5 内存分配器出现了一个错误,对于非常大 (500MiB) 的分配,可能会导致它进入无限循环。几乎所有系统都使用其本机内存分配器,而不是 memsys5。仅当 SQLite 使用 SQLITE_ENABLE_MEMSYS5 编译然后使用 sqlite3_config(SQLITE_CONFIG_HEAP) 初始化时,才会使用 Memsys5。很少有系统这样做,因此该问题不被认为是严重的。
请参阅 branch-3.40 时间线,以获取已包含在此修补程序版本中的所有更改的完整列表。
3.40.0 版本是 SQLite 的一个新功能版本。有关详细信息,请参阅 更改日志。此版本中的主要增强功能包括
正式支持将 SQLite 编译为 WASM 并将其在 Web 浏览器中运行。
用于从损坏的数据库文件中提取数据的新的和改进的 恢复扩展。
此版本还包括性能增强和对查询计划器的改进。
一个心理里程碑:SQLite 开发人员多年来一直在使用的性能基准在 WAL 模式 下运行时首次降至 10 亿个 CPU 周期以下(使用 cachegrind 测量)。这不到 8 年前 CPU 周期使用量的一半。(下图显示 SQLite 使用 回滚日志,它以牺牲额外的 I/O 为代价使用更少的 CPU 周期。该基准在先前版本中已通过回滚日志的 10 亿周期障碍。)
3.39.4 版本是一个安全版本,解决了 FTS3 扩展 中的一个长期存在的问题。能够执行任意 SQL 语句并能够创建大小为 2GB 或更大的损坏数据库的攻击者可能能够欺骗 FTS3 使其溢出用于确定内存分配大小的整数,导致分配过小,最终导致缓冲区溢出。此版本还包括对其他模糊弱点的修复,如发行说明中所述。
3.39.3 版本是一个修补程序版本,修复了 3.39.0 版本中的一些模糊问题。有关详细信息,请参阅发行说明。
3.39.2 版本是一个安全版本,解决了 SQLite 中的多个长期存在的问题。最严重的问题由 CVE-2022-35737 标识。该问题与 SQLite 的辅助 C 语言 API 相关,无法使用 SQL 或数据库输入访问,因此不太可能影响您的应用程序。尽管如此,仍建议升级。其他问题相对较小。此版本还修复了 3.39.0 版本中出现的一个性能回归,该回归可能会影响某些使用 LEFT JOIN 的多路联接。
3.39.1 版本是一个修补程序版本,修复了 3.39.0 版本中的一些小问题。升级是可选的。
3.39.0 版本是 SQLite 的定期维护版本。此版本中的主要增强功能是添加了对 RIGHT 和 FULL JOIN 的支持。还有一些其他语言和性能增强功能 - 有关详细信息,请参阅 发行说明。
3.38.4 修补程序版本对 CLI 源代码进行了一项小的更改,但该更改不起作用。发布管理器仅运行了正常发布测试的一个子集,因此没有发现该问题。结果,在 3.38.4 版本中使用列输出模式时,CLI 会出现段错误。此错误未影响核心 SQLite 库。它仅影响 CLI。经验教训:在发布之前,始终运行所有测试 - 即使是微不足道的修补程序版本。始终。
3.38.5 修补程序版本修复了 3.38.4 中的错误。
此修补程序版本修复了新的 Bloom 过滤器优化中另一个用户发现的问题。如果没有此修复,如果其中一个表的键约束包含 NULL 值,则使用 Bloom 过滤器对联接中的两个或多个表进行多路联接可能会进入无限循环。
版本 3.38.3 修复了自动索引和布隆过滤器构建逻辑中的一个错误,该错误可能导致 SQLite 过于积极地使用 ON 子句约束,从而导致不正确的自动索引或布隆过滤器,导致某些有效行被排除在输出之外。此错误是在版本 3.38.0 中引入的。其他一些细微的更改也被加入到补丁中。
版本 3.38.2 修复了新的布隆过滤器优化中的另一个错误,该错误可能导致对具有右表上 IS NULL 约束的 LEFT JOIN 返回错误的结果。
版本 3.38.1 修复了版本 3.38.0 中引入的布隆过滤器优化中的一对错误。这些错误可能会导致某些模糊查询返回错误的结果。同时修复了其他各种小问题和文档拼写错误。
版本 3.38.0 是 SQLite 的例行维护版本。它包含各种小的增强功能,以及 CPU 周期使用量的约 0.5% 的减少。有关更多详细信息,请参阅 发行说明。
版本 3.37.2 修复了一个 数据库损坏错误。建议您升级,尤其是在使用 SAVEPOINT 的情况下。此问题首次出现在版本 3.35.0(2021-03-12)中,并影响了从 3.37.1 之前的的所有后续版本。如果临时文件存储在内存中(这不是默认行为,但有时由使用 -DSQLITE_TEMP_STORE 或 PRAGMA temp_store 的应用程序选择),并且如果回滚了 SAVEPOINT,然后提交了同一事务中的后续更改,则数据库文件可能会(以低但非零的概率)损坏。
版本 3.37.1 修复了 UPSERT 逻辑中的一个错误,该错误是由 版本 3.35.0 的 UPSERT 增强功能引入的,在某些情况下会导致生成不正确的字节码,从而导致字节码出现无限循环或空指针取消引用。此补丁版本还修复了与 assert() 语句和 CLI 相关的其他一些小问题。
版本 3.37.0 是 SQLite 的例行维护版本。此版本中最大的新功能是对 STRICT 表 的支持。其他增强功能在 发行说明 中进行了描述。
版本 3.36.0 是 SQLite 的例行维护版本。没有新的主要功能,只有对现有功能的增量改进和少量性能改进。
在 3.35.0 版本中添加的新 ALTER TABLE DROP COLUMN 功能包含一个错误,该错误可能会导致在重写表以删除已删除的列时表内容损坏。此补丁修复了此问题。
版本 3.35.4 是另一个补丁版本,用于修复与 3.35.0 相关的功能中的模糊问题。
版本 3.35.3 包含针对先前版本中发现的一些小问题的补丁。
版本 3.35.2 是一个小的补丁版本,用于修复在 3.35.1 版本发布后不久发现的一些小问题。
用户发现版本 3.35.0 中新的 DROP COLUMN 功能存在问题,因此创建了版本 3.35.1 来修复它。如果您未使用 DROP COLUMN,则无需升级。
SQLite 版本 3.35.0 是一个例行维护版本。此版本添加了许多新的语言功能,包括对 ALTER TABLE DROP COLUMN、内置数学函数、通用 UPSERT 和公共表表达式上的 MATERIALIZED 提示的支持。还包括查询计划程序优化和增量 CLI 改进。
SQLite 版本 3.34.1 是一个补丁版本,修复了可能由恶意 SQL 引发的可能的 use-after-free 错误。还修复了扩展和文档中的其他小问题。
SQLite 版本 3.34.0 是一个例行维护版本。此版本对性能和功能进行了增量改进,包括对查询计划程序的增强、递归公共表表达式中的多个递归 SELECT 以及 CHECK 约束失败时更好的错误消息。请参阅更改日志了解详细信息。
SQLite 版本 3.33.0 是一个例行维护版本。此版本增加了对遵循 PostgreSQL 语法的“UPDATE FROM”的支持,并将最大数据库大小增加了一倍至 281 TB,以及许多其他改进。请参阅更改日志了解详细信息。
3.32.3 版本是一个补丁版本,其中包含针对模糊测试发现的各种问题的修复。修复的这些问题不太可能在以普通方式使用 SQLite 的应用程序中遇到,尽管升级总是有益的。自 3.32.0 版本以来的所有更改映射:https://www.sqlite.org/src/timeline?p=version-3.32.3&bt=version-3.32.0
相对于 3.32.1,3.32.2 版本进行了一行更改,修复了 COMMIT 命令中一个长期存在的问题。自从 版本 3.17.0 以来,如果您在返回 SQLITE_BUSY 后反复重试 COMMIT 命令,它最终可能会报告成功,即使它仍然被阻塞。此补丁修复了此问题。
在版本 3.32.0 发布后大约 24 小时,灰帽 发布了有关两个 SQLite 错误的信息。这些错误使恶意制作的 SQL 能够使运行 SQLite 的进程崩溃。这两个错误都是长期存在的问题,会影响 3.32.0 之前的版本。3.32.1 版本修复了这两个问题。
版本 3.32.0 是 SQLite 的常规维护版本。此版本具有运行 近似 ANALYZE 以收集数据库统计信息供查询计划程序使用,而无需扫描每个索引的每一行的能力。有关其他增强功能和改进,请参阅 更改日志。
使用 SQLite 的应用程序应该只通过官方发布的 API 与 SQLite 交互。应用程序不应依赖或使用 SQLite 的内部数据结构,因为这些结构可能会在不同版本之间发生变化。但是,有一个流行的应用程序确实依赖于 SQLite 内部数据结构中数据的内部布局的详细信息,并且这些详细信息在版本 3.31.0 中发生了变化,导致该应用程序出现故障。从技术上讲,这是应用程序中的错误,而不是 SQLite 中的错误。但是,SQLite 有能力修复它,方法是恢复内部数据结构更改,这就是我们在 3.31.1 版本中所做的。
版本 3.31.0 是 SQLite 的常规维护版本。此版本具有为表定义 生成列 以及许多其他增强功能的能力。有关其他信息,请参阅 更改日志。
版本 3.30.1 是一个错误修复版本,解决了嵌套查询中的聚合函数使用新的 FILTER 子句功能时可能发生的问题。出于完整性考虑,还包括了一些针对各种模糊问题的其他补丁。
版本 3.30.0 是 SQLite 的定期计划维护版本,包含各种性能和功能增强。此版本添加了对 ORDER BY 语句上的 NULLS FIRST 和 NULLS LAST 子句以及所有聚合函数上的 FILTER 子句的支持。有关详细信息,请参阅 更改日志。
版本 3.29.0 是 SQLite 的定期计划维护版本,包含各种性能和功能增强。有关详细信息,请参阅 更改日志。从本版本开始,双引号字符串文字 错误功能已弃用。出于向后兼容性考虑,此错误功能仍默认启用,但是鼓励开发人员在编译时使用 -DSQLITE_DQS=0 选项禁用它,或在运行时使用 SQLITE_DBCONFIG_DQS_DML 和 SQLITE_DBCONFIG_DQS_DDL 操作到 sqlite3_db_config() 接口中禁用它。这在 CREATE TABLE 和 CREATE INDEX 语句中的双引号字符串文字中尤其如此,因为这些元素在 ALTER TABLE 后可能会导致意外问题。有关示例,请参阅工单 9b78184be266fd70。
版本 3.28.0 是 SQLite 的定期计划维护版本,包含各种性能和功能增强。有关详细信息,请参阅 更改日志。此版本修复了一个模糊的安全问题。如果以下情况,使用旧版 SQLite 的应用程序可能会受到攻击:
我们不知道有任何应用程序容易受到此问题的影响。另一方面,我们也不了解每个使用 SQLite 的应用程序。如果您的应用程序允许互联网上的未经身份验证的用户(以及潜在的攻击者)运行任意 SQL,并且如果使用任何启用的可选扩展构建 SQLite,则应尽快进行此升级。
- SQLite 编译时启用了某些可选扩展,并且
- 攻击者能够注入任意 SQL。
有关提高 SQLite 在面向互联网的应用程序中的鲁棒性的更多信息,请参阅我们的 安全建议。
版本 3.27.2 是一个补丁版本,修复了版本 3.27.1 中发现的两个错误和各种文档错误。版本 3.27.1 和 3.27.0 之间的更改很小。
在标记版本 3.27.0 之后,但在完成构建并上传之前,通过 System.Data.SQLite 报告了 查询优化器中的一个长期存在的错误。由于人们无论如何都会升级,因此我们决定立即发布此新发现问题的修复程序。因此,3.27.1 在 3.27.0 发布不到 24 小时后发布。如果查询优化器错误早一天引起我们的注意,那将会更好,这样我们就可以将修复程序合并到 3.27.0 中,但有时事情就是这样。
SQLite 版本 3.27.0 是一个例行维护版本,包含各种性能和功能增强。有关详细信息,请参阅 发行说明。
SQLite 版本 3.26.0 是一个例行维护版本,包含各种性能和功能增强。有关详细信息,请参阅 发行说明。
SQLite 版本 3.25.3 是针对 3.25.0 的第三个补丁,修复了已发现的各种问题,这些问题似乎足够严重,需要进行补丁修复。
SQLite 3.25.2 版本 是针对 3.25.0 的另一个补丁,修复了与新的 窗口函数 功能和 ALTER TABLE 增强功能相关的更多问题。特别值得注意的是新的 PRAGMA legacy_alter_table=ON 命令,它使 ALTER TABLE RENAME 命令的行为与 3.25.0 版本中的增强功能之前相同,即触发器和视图主体内部对重命名表的引用不会更新。遗留行为可以说是一个错误,但某些程序依赖于旧的错误行为。3.25.2 版本还包含对 窗口函数 处理 VIEW 的修复。还有一些其他细微的修复程序会影响模糊的编译时选项。有关详细信息,请参阅 Fossil 时间线。
SQLite 3.25.1 版本 是针对 3.25.0 版本的补丁,其中包含两个针对 3.25.0 版本中引入的错误的一行修复程序。有关详细信息,请参阅更改日志。建议从 3.25.0 版本升级。
SQLite 3.25.0 版本 是定期计划的维护版本。此版本有两个重大增强功能
添加了对 窗口函数 的支持,使用 PostgreSQL 文档作为基线。
ALTER TABLE 命令得到了增强,以支持列的重命名,以及将列和表的重命名传播到触发器主体和视图中。
此外,还有各种性能增强和次要修复。
一个值得注意的错误是 工单 9936b2fa443fec,它描述了一种难以触及的情况,其中 ORDER BY LIMIT 优化可能会在查询评估期间导致无限循环。该工单在 HackerNews 和 Reddit 上引起了很多关注,可能是因为我选择了工单标题。“无限循环”听起来很吓人。但我认为这个错误实际上并没有那么糟糕,因为它非常难以触及,会在测试期间出现(而不是在产品部署后神奇地出现),不会导致任何数据丢失,也不会返回错误的结果。这是一个重要的错误,但远没有许多人理解的那么严重。并且,无论如何,它现在已经修复了。
SQLite 3.24.0 版本 是定期计划的维护版本。此版本的亮点包括对 PostgreSQL 样式 UPSERT 的支持以及改进的性能,特别是对于 ORDER BY LIMIT 查询。
3.23.1 版本 发布修复了 3.23.0 版本中添加的新 LEFT JOIN 强度降低优化 中的错误。还插入了一些其他次要和模糊的修复,以及一个小性能优化。相对于 3.23.0 版本的代码更改最少。
3.23.0 版本 发布是定期计划的维护版本。有关增强功能和错误修复的列表,请参阅 更改日志。
3.22.0 版本 发布是定期计划的维护版本。此版本有很多细微但有趣的增强功能。有关详细信息,请参阅 更改日志。
3.21.0 版本 发布是定期计划的维护版本。此版本有很多增强功能。有关详细信息,请参阅 更改日志。
3.20.1 版本 补丁版本更改了 sqlite3_result_pointer() 接口中的两行代码,以修复罕见的内存泄漏。相对于 3.20.0 版本 没有其他更改。
SQLite 3.20.0 版本 是 SQLite 的定期计划的维护版本。此版本包含许多次要增强功能,包括
- 几个新的扩展
- 对“sqlite3.exe”命令行 shell 的增强
- 查询计划程序增强功能
- 用于提高性能的各种代码优化
- 一些模糊错误的修复
有关更多信息,请参阅 发行说明。
SQLite 3.18.2 版本 是 SQLite 3.19.0 版本 中发现的错误修复的另一个回传,特别是针对工单 61fe9745 的修复。相对于 3.18.0 版本 的更改最少。
SQLite 3.18.1 版本 是针对 3.18.0 版本 的错误修复版本,修复了工单 fda22108 中描述的 auto_vacuum 损坏错误。此版本是为需要该错误修复但尚不希望升级到 3.19.3 版本 的用户创建的。
3.19.3 版本 是一个紧急补丁版本,用于修复 错误,该错误存在于 auto_vacuum 逻辑中,可能导致数据库损坏。该错误是在 3.16.0 版本(2017-01-02)中引入的。尽管该错误很模糊且很少遇到,但建议所有用户升级,特别是对于启用 auto_vacuum 的用户。
在 3.19.0 版本中添加的 LEFT JOIN 扁平化 优化中发现了更多问题。此补丁版本修复了该优化的所有已知问题并添加了新的测试用例。希望这将是最后一个补丁。
3.19.0 版本中的一个新的查询计划程序优化包含错误。3.19.1 补丁版本修复了它们。从 3.19.0 开始,LEFT JOIN 运算符右侧的子查询和视图有时可以 扁平化 到主查询中。新的优化对于开发人员设计的测试用例以及数百万个旧版测试用例都运行良好,但是一旦 3.19.0 发布,用户发现了一些优化失败的其他情况。工单 cad1ab4cb7b0fc344 包含示例。
这些问题仅存在于 3.19.0 中。SQLite 3.19.0 的用户应该升级,但所有先前版本的 SQLite 用户都是安全的。
SQLite 3.19.0 版本 是定期计划的维护版本。此版本的重点是对查询计划程序的改进。还有一些模糊的错误修复。除非您遇到先前版本的相关问题,否则没有理由升级。
SQLite 3.18.0 版本 是定期计划的维护版本。此版本提供了“PRAGMA optimize”命令的初始实现。此命令现在可用于在需要时运行 ANALYZE。应用程序应在关闭 数据库连接 之前调用“PRAGMA optimize”。“PRAGMA optimize”语句可能会在将来的版本中得到增强以执行其他类型的自动数据库维护。
用于管理 SQLite 项目的 Fossil 版本控制系统已升级为使用 SHA3-256 哈希而不是 SHA1。因此,SQLite 的版本标识现在显示 64 位十六进制 SHA3-256 哈希而不是 40 位十六进制 SHA1 哈希。
有关此版本中的其他增强功能和优化,请参阅 更改日志。
SQLite 3.17.0 版本 是定期计划的维护版本。此版本中的大多数更改都是性能优化。对 R-Tree 扩展 的优化尤其明显。
在此版本中,为每个数据库连接分配的 备用缓冲区 的默认大小从 64,000 字节增加到 120,000 字节。这通过少量增加内存使用量来提高许多常见工作负载的性能。重视较小内存占用量而不是原始速度的应用程序可以使用 SQLITE_DEFAULT_LOOKASIDE 编译时选项或 sqlite3_config(SQLITE_CONFIG_LOOKASIDE) 启动时设置或 sqlite3_db_config(SQLITE_DBCONFIG_LOOKASIDE) 运行时设置将备用缓冲区大小更改回其旧值(或零)。
3.16.0 中添加的一个性能优化导致触发器和外键在缺少辅助索引的 WITHOUT ROWID 表上使用 REPLACE 语句时出现故障。此补丁版本修复了该问题。有关详细信息,请参阅工单 30027b613b4。
SQLite 3.16.1 版本 修复了触发器内部 UPDATE 语句的 row-value 逻辑中的错误。该错误从 3.15.0 版本添加 row-value 以来就存在,但直到 3.16.0 版本发布后几分钟才被发现,因此 3.16.0 版本没有修复它。此补丁版本是包含 row-value 错误修复的 3.16.0 版本。
SQLite 3.16.0 版本 是定期计划的维护版本。此版本包括许多 微优化,这些优化共同减少了约 9% 的 CPU 周期计数,并且对 命令行 shell 进行了重要增强。
添加了对 PRAGMA 函数 的支持,以便许多 pragma 语句可以用作更大 SQL 查询的一部分。这被认为是一项实验性功能。我们预计不会对 PRAGMA 函数 接口进行任何更改,但如果出现不可预见的问题,将在几个发布周期内继续将其称为“实验性”接口。
有关其他增强功能,请参阅 更改日志。
SQLite 3.15.2 版本 是一个错误修复补丁版本,修复了 3.15.0 和 3.15.1 版本中的几个次要问题。
SQLite 3.15.1 版本 是一个错误修复补丁版本,修复了 3.15.0 版本中的一些次要问题。
SQLite 3.15.0 版本 是定期计划的维护版本。此版本中的关键功能是添加了对 行值 的支持。还有一些其他增强功能和一些模糊错误的修复。3.15.0 版本使用的 CPU 周期比 3.14.2 版本少约 7%。此版本的大部分改进都体现在 SQL 解析器、查询计划程序和字节码生成器(前端)中,这些对应于 sqlite3_prepare_v2() 接口。总体而言,3.15.0 版本使用的 CPU 时间大约是 3.8.1 版本(2013-10-17)的一半。这些性能测量是在使用 x64 编译的 gcc 和 -Os 编译的“speedtest1.c”工作负载上进行的。性能改进可能因不同的平台和工作负载而异。
SQLite 3.14.2 版本 修复了几个模糊的错误,并改进了使用 32 位 Windows 系统上的 STDCALL 调用约定构建 SQLite 的支持。从 3.14 和 3.14.1 版本升级是可选的。
SQLite 3.14.1 版本 添加了一个小补丁,以提高 pcache1TruncateUnsafe() 例程的性能,以应对仅删除缓存末尾的一些页面时的性能。这会导致在存在非常大的页面缓存时 COMMIT 运行得更快。从 3.14 版本升级是可选的。
SQLite 3.14 版本(“π”版本)是定期计划的维护版本,其中包含性能增强、新功能以及模糊错误的修复。
SQLite 3.13.0 版本 是一个定期维护版本,包含性能增强和对一些模糊错误的修复。
糟糕!3.12.0 和 3.12.1 版本包含一个向后兼容性错误!声明列类型为"INTEGER" PRIMARY KEY(其中数据类型名称 INTEGER 被加引号) 的表会生成不兼容的数据库文件。这个错误是因为开发人员以前从未想过将类型名称加引号,因此没有对此功能的任何文档或测试。(当然,现在有了测试。) 在实际应用中,将数据类型名称加引号的情况可能很少见,因此我们预计此错误的影响不会太大。仍然强烈建议升级。
此补丁版本中还修复了另外三个小问题。这些问题通常会延迟到下一个计划版本再修复,但由于无论如何都要发布补丁版本,因此也将其包含在内。
SQLite 3.12.1 版本 是一个紧急补丁版本,用于解决 一个崩溃错误,该错误潜入了 3.12.0 版本。强烈建议从 3.12.0 版本升级。
同时还修复了另一个与 视图 列上的数据类型相关的小问题,以及查询计划器的缺陷。这两个问题本身不足以发布新版本,但由于要发布版本来处理崩溃错误,因此我们也包含了这些其他修复。
SQLite 3.12.0 版本 是一个定期维护版本。此版本的一个显著变化是 新创建的数据库文件的默认页面大小有所增加。此外,还有一些性能改进。有关详细信息,请参阅 更改日志。
SQLite 3.11.1 版本 是一个补丁版本,修复了新的 FTS5 扩展中的问题,并增加了 spellfix1 扩展中的默认设置,并对一些 Windows makefile 进行了增强。SQLite 核心与 3.11.0 版本相同。升级是可选的。
SQLite 3.11.0 版本 是一个定期维护版本。
糟糕!优化尝试失败导致 LIKE 运算符出现错误,此补丁版本修复了该错误。补丁中还包含了另外三个较小但风险较低的修复。
SQLite 3.10.1 版本 是一个错误修复版本,主要针对 Mapscape 发现的查询计划器错误 cb3aa0641d9a4 的修复。还包含 Mozilla 的 Firefox 开发人员请求的一个小的 API 增强功能。与 3.10.0 版本的区别很小。
SQLite 3.10.0 版本 是一个定期维护版本。
此页面最后修改于 2024-08-14 17:04:32 UTC