Small. Fast. Reliable.
Choose any three.

最近的新闻

2021-04-19-修补程序版本3.35.5

在3.35.0发行版中添加的新ALTER TABLE DROP COLUMN功能包含一个错误,当重写表以删除被删除的列时,该错误可能导致表内容损坏。已通过此补丁修复。

2021-04-02-修补程序版本3.35.4

3.35.4版是又一个修补程序版本,用于解决与3.35.0相关的功能中的晦涩问题。

2021-03-26-修补程序版本3.35.3

3.35.3版包含一些修补程序,以解决先前发行版中发现的一些小问题。

2021-03-17-修补程序版本3.35.2

3.35.2版是一个小的补丁程序发行版,用于修复在3.35.1版本发行后不久发现的一些小问题。

2021-03-15-修补程序版本3.35.1

用户发现了3.35.0版中新的DROP COLUMN功能的问题,因此创建了3.35.1版来解决此问题。如果您不使用DROP COLUMN,则无需升级。

2021-03-12-版本3.35.0

SQLite版本3.35.0是例行维护版本。此版本增加了许多新的语言功能,包括对ALTER TABLE DROP COLUMN的支持,内置数学函数,广义UPSERT以及对常见表表达式的MATERIALIZED提示。还有查询计划程序优化和增量CLI改进。

2020-01-20-版本3.34.1

SQLite版本3.34.1是一个修补程序版本,修复了可能由恶意SQL引起的可能的“售后使用”错误。扩展和文档中的其他次要问题也已修复。

2020-12-01-版本3.34.0

SQLite版本3.34.0是例行维护版本。此版本增加了性能和功能的增量改进,包括对查询计划程序的增强,递归公用表表达式中的多个递归SELECTS以及来自CHECK约束失败的更好的错误消息。有关详细信息,请参见更改日志。

2020-08-14-版本3.33.0

SQLite版本3.33.0是例行维护版本。此版本的功能增加了对遵循PostgreSQL语法的“ UPDATE FROM”的支持,并将最大数据库大小增加了一倍,达到281 TB,并进行了许多其他改进。有关详细信息,请参见更改日志。

2020-06-18-版本3.32.3

3.32.3版本是一个修补程序版本,其中包含针对模糊器发现的各种问题的修复程序。使用SQLite的应用程序以普通方式可能不会遇到任何已解决的问题,尽管升级永远不会受到损害。

自3.32.0版本以来所有更改的地图:https ://www.sqlite.org/src/timeline ? p = version-3.32.3 & bt = version-3.32.0


2020-06-04-版本3.32.2

3.32.2版本是相对于3.32.1的单行更改,它修复了COMMIT命令中一个长期存在的错误。从 3.17.0版开始,如果要在返回SQLITE_BUSY之后一遍又一遍地重试COMMIT命令,即使该命令仍被阻止,它也可能最终报告成功。此修补程序解决了该问题。

2020-05-25-版本3.32.1

Grey-hats在版本3.32.0发布大约24小时后发布了有关两个SQLite错误的信息。这些错误使恶意制作的SQL可以崩溃正在运行SQLite的进程。这两个错误都是长期存在的问题,会影响3.32.0之前的版本。3.32.1版本修复了这两个问题。

2020-05-22-版本3.32.0

版本3.32.0是SQLite的普通维护版本。此版本的功能是可以运行 近似的ANALYZE来收集数据库统计信息以供查询计划人员使用,而不必扫描每个索引的每一行。请参阅更改日志以获取其他增强和改进。

2020-01-27-版本3.31.1

使用SQLite的应用程序应仅通过正式发布的API与SQLite交互。应用程序不应依赖或使用SQLite的内部数据结构,因为这些结构可能会从一个发行版更改为另一个发行版。但是,有一个受欢迎的应用程序确实依赖于内部SQLite数据结构中数据内部布局的详细信息,而这些详细信息在版本3.31.0中已更改,从而破坏了该应用程序。从技术上讲,这是应用程序中的错误,而不是SQLite中的错误。但是,通过还原内部数据结构更改,SQLite可以解决此问题,因此,这就是我们为3.31.1版本所做的工作。

2020-01-22-版本3.31.0

版本3.31.0是SQLite的普通维护版本。此版本具有定义 表的生成列的功能以及许多其他增强功能。有关其他信息,请参见更改日志

2019-10-11-版本3.30.1

版本3.30.1是一个错误修复版本,它解决了嵌套查询中的聚合函数使用新的FILTER子句功能时可能发生的问题。为了完整起见,还包括一些针对各种晦涩问题的附加补丁程序。

2019-10-04-版本3.30.0

版本3.30.0是SQLite的定期维护版本,其中包含其他性能和功能增强。此版本增加了对ORDER BY语句上的NULLS FIRST和NULLS LAST子句的支持,并在所有聚合函数上增加了FILTER子句。有关详细信息,请参见更改日志

2019-07-10-版本3.29.0

3.29.0版是SQLite的定期计划维护版本,其中包含其他性能和功能增强。有关详细信息,请参见更改日志

从此发行版开始,不建议使用 双引号字符串字面量错误功能。默认情况下,为了保持旧功能,默认情况下仍会启用该错误功能,但是建议开发人员在编译时使用-DSQLITE_DQS = 0选项禁用它,或者在运行时使用 对sqlite3_db_config()接口使用SQLITE_DBCONFIG_DQS_DMLSQLITE_DBCONFIG_DQS_DDL操作禁用它 。对于CREATE TABLE和CREATE INDEX语句中的双引号字符串文字,尤其如此,因为在ALTER TABLE之后,这些元素可能导致意外的问题。有关 示例,请参见票证9b78184be266fd70


2019-04-16-版本3.28.0

3.28.0版是SQLite的定期维护版本,其中包含其他性能和功能增强。有关详细信息,请参见更改日志

此版本修复了一个晦涩的安全问题。如果使用旧版本的SQLite的应用程序可能会受到攻击

  1. 在启用某些可选扩展的情况下编译SQLite,并且
  2. 攻击者能够注入任意SQL。
我们没有发现容易受到此问题影响的任何应用程序。另一方面,我们并不了解每个使用SQLite的应用程序。如果您的应用程序允许Internet上未经身份验证的用户(以及潜在的攻击者)运行任意SQL,并且您在启用任何可选扩展的情况下构建SQLite,则应尽早进行此升级。

有关在面向Internet的应用程序中提高SQLite鲁棒性的更多信息,请参阅我们的 安全建议


2019-02-25-版本3.27.2

3.27.2版是一个修补程序版本,它修复了3.27.1版中发现的两个错误和各种文档错误。从3.27.1和3.27.0版本开始所做的更改很小。

2019-02-08-版本3.27.1

在3.27.0版中标记了版本,但在构建完成并上载之前, 已通过System.Data.SQLite报告了查询优化中的一个 长期存在的错误。由于人们将以任何方式进行升级,因此我们决定立即针对此新发现的问题发布修复程序。因此,在3.27.0之后不到24小时内发布了3.27.1。

如果查询优化器的错误在一天前引起我们的注意,那会更好,这样我们就可以将修补程序合并到3.27.0中,但是有时候事情就是这样。


2019-02-07-版本3.27.0

SQLite 3.27.0版是例行维护版本,具有各种性能和功能增强。有关详细信息,请参见 发行说明

2018-12-01-版本3.26.0

SQLite 3.26.0版是例行维护版本,具有各种性能和功能增强。有关详细信息,请参见 发行说明

2018-11-05-版本3.25.3

SQLite 3.25.3版本是针对3.25.0的第三个补丁,它修复了已发现的各种问题,这些问题似乎严重到足以证明该补丁的合理性。

2018-09-25-版本3.25.2

SQLite 3.25.2版本是针对3.25.0的另一个补丁,它修复了与新窗口功能ALTER TABLE增强功能相关的更多问题。需要特别注意的是新的 PRAGMA legacy_alter_table = ON命令,该命令使ALTER TABLE RENAME命令的行为与在3.25.0版中发现的增强功能之前的愚蠢行为一样→引用了触发器体内的重命名表并且视图不会更新。传统行为可以说是一个错误,但是某些程序依赖于较早的错误行为。3.25.2版本还包含对窗口功能的修复处理VIEW。还有许多其他次要修复程序,会影响晦涩的编译时选项。有关详细信息,请参见 化石时间轴

2018-09-18-版本3.25.1

SQLite 3.25.1版是针对3.25.0的补丁,其中包含针对3.25.0版引入的错误的两个单行修复程序。有关详细信息,请参见更改日志。建议从3.25.0升级。

2018-09-15-版本3.25.0

SQLite 3.25.0版是定期计划的维护版本。此版本中的两项重大增强功能:
  1. 添加了 对窗口功能的支持,使用PostgreSQL文档作为基准。

  2. ALTER TABLE命令得到增强,支撑柱的重命名,并且使列名和表重命名传播到触发机构和看法。

此外,还有各种性能增强和较小的修复。

值得注意的一个错误是故障 单9936b2fa443fec ,它描述了一种难以到达的条件,其中ORDER BY LIMIT优化可能会在查询评估期间导致无限循环。这张票引起了HackerNewsReddit的很多关注 ,这可能是由于我选择了票标题。“无限循环”听起来很吓人。但是我认为该错误并不是真的很糟糕,因为它很难被发现,将在测试期间显示(而不是在部署产品后神奇地出现),不会造成任何数据丢失并且不会返回错误的结果。这是一个重要的错误,但没有很多人认为的那么可怕。而且,无论如何,现在已修复。


2018-06-04-版本3.24.0

SQLite版本3.24.0是定期计划的维护版本。该版本的重点包括对PostgreSQL风格的UPSERT的支持和改进的性能,尤其是对ORDER BY LIMIT查询的支持。

2018-04-10-版本3.23.1

版本3.23.1版本修复了新的错误 LEFT JOIN强度降低优化加入到3.23.0版本。还插入了其他一些次要的和晦涩的修复程序,以及一个小的性能优化程序。相对于版本3.23.0的代码更改很小。

2018-04-02-版本3.23.0

版本3.23.0版本是定期维护版本。请参阅更改日志,以获取增强功能和错误修复的列表。

2018-01-22-版本3.22.0

版本3.22.0版本是定期维护版本。此发行版中有许多次要的(尽管很有趣)增强功能。有关详细信息,请参见更改日志

2017-10-24-版本3.21.0

版本3.21.0版本是定期维护版本。此版本中有很多增强功能。有关详细信息,请参见更改日志

2017-08-24-版本3.20.1

版本3.20.1补丁发布改变两行代码在sqlite3_result_pointer()以固定一个罕见的内存泄漏的界面。与版本3.20.0相比,没有其他更改。

2017-08-01-版本3.20.0

SQLite版本3.20.0是SQLite的定期维护版本。

此版本包含许多小的增强功能,包括:

有关更多信息,请参见发行说明


2017-06-17-版本3.18.2

SQLite 3.18.2版是SQLite 3.19.0版中发现的一个错误修复程序的另一个后向版本,特别是票证61fe9745的修复程序。对版本3.18.0的更改很小。

2017-06-16-版本3.18.1

SQLite版本3.18.1是针对版本3.18.0的错误修复版本 ,该版本修复票证fda22108中描述的auto_vacuum损坏错误 。此版本是为需要该错误修复但又不想升级到版本3.19.3的用户创建的

2017-06-08-版本3.19.3

3.19.3版是紧急补丁程序版本,用于修复auto_vacuum逻辑中的一个错误, 该 错误可能导致数据库损坏。该错误是在3.16.0版 (2017-01-02)中引入的。尽管该bug晦涩难懂,很少遇到,但是建议所有用户都进行升级,尤其是对那些打开auto_vacuum的用户。

2017-05-25-版本3.19.2

在3.19.0版本中添加 的LEFT JOIN展优化中还发现了更多问题 。此修补程序版本修复了该优化中的所有已知问题,并添加了新的测试用例。希望这将是最后一个补丁。

2017-05-24-版本3.19.1

3.19.0版本中的一项新的查询计划程序优化包含错误。3.19.1修补程序版本修复了这些问题。

从3.19.0开始,有时可以将LEFT JOIN运算符右侧的子查询和视图展 到主查询中。新的优化对于开发人员设计的所有测试用例以及数百万个旧式测试用例都非常有效,但是一旦3.19.0发布,用户就会发现其他一些优化失败的情况。票证 cad1ab4cb7b0fc344包含示例。

这些问题仅在3.19.0中存在。SQLite 3.19.0的用户应该进行升级,但是所有SQLite以前版本的用户都是安全的。


2017-05-22-版本3.19.0

SQLite 3.19.0版是定期计划的维护版本。

此版本的重点是对查询计划程序的改进。也有一些晦涩的错误修复。除非您在以前的版本中遇到问题,否则没有升级的理由。


2017-03-30-版本3.18.0

SQLite 3.18.0版是定期计划的维护版本。

此版本以“ PRAGMAoptimize ”命令的初始实现为特色。现在可以使用此命令使 ANALYZE在需要时运行。在关闭数据库连接之前,应用程序应调用“ PRAGMAoptimize” 。在将来的发行版中,“ PRAGMAoptimize”语句可能会得到增强,以进行其他类型的自动数据库维护。

用于管理SQLite项目 的Fossil版本控制系统已升级为使用SHA3-256哈希而不是SHA1。因此,SQLite的版本标识现在显示的是64位十六进制数字的SHA3-256哈希,而不是40位十六进制数字的SHA1哈希。

有关此版本中的其他增强功能和优化信息,请参见更改日志


2017-02-13-版本3.17.0

SQLite版本3.17.0是定期计划的维护版本。

此版本中的大多数更改是性能优化。R-Tree扩展的优化特别引人注目。

在此版本中,为每个数据库连接分配的后备缓冲区的默认大小 从64,000字节增加到120,000字节。这可以提高许多常见工作负载的性能,以换取内存使用量的小幅增长。在原始速度上评估较小内存占用量的应用程序可以使用SQLITE_DEFAULT_LOOKASIDE编译时选项或 sqlite3_config(SQLITE_CONFIG_LOOKASIDE) 开始时间设置或 sqlite3_db_config(SQLITE_DBCONFIG_LOOKASIDE 将后备缓冲区大小改回其旧值(或更改为零)。 运行时设置。


2017-01-06-版本3.16.2

3.16.0中添加的性能优化之一导致缺少次级索引的WITHOUT ROWID表上的REPLACE语句的 触发器和外键发生故障。此修补程序版本解决了该问题。有关详细信息,请参见票证 30027b613b4

2017-01-03-版本3.16.1

SQLite 3.16.1版修复了触发器内部UPDATE语句的行值逻辑中的错误。自从3.15.0版本添加行值以来,就存在该错误,但直到3.16.0版本发布后几分钟才发现该错误,因此3.16.0尚未修复该错误。此修补程序版本是3.16.0版,具有行值错误修复。

2017年1月2日-版本3.16.0

SQLite版本3.16.0是定期计划的维护版本。

此版本包括许多microoptimizations即约9%统称降低CPU周期数,加上已经有过重要的增强功能命令行shell

添加了对PRAGMA函数的支持,因此许多杂注语句可以用作较大的SQL查询的一部分。这被认为是实验功能。我们预计PRAGMA功能接口不会有任何更改,但是在出现不可预见的问题的情况下,将在几个发布周期内继续将该接口称为“实验性”。

有关其他增强功能,请参见更改日志


2016-11-28-版本3.15.2

SQLite 3.15.2版是一个错误修复补丁程序版本,它修复了3.15.0和3.15.1版本中的几个小问题。

2016-11-04-版本3.15.1

SQLite 3.15.1版本是一个错误修复补丁程序版本,它修复了3.15.0版本中的一些小问题。

2016-10-14-版本3.15.0

SQLite版本3.15.0是定期计划的维护版本。此版本的关键功能是对行值的新增支持 。此外,还针对许多晦涩的错误进行了其他增强和修复。

与3.14.2相比,3.15.0版本使用的CPU周期减少了大约7%。此版本中的大多数改进是在SQL解析器,查询计划器和与sqlite3_prepare_v2()接口相对应的字节码生成器(前端)中进行的。总体而言,版本3.15.0使用的CPU时间大约是版本3.8.1(2013-10-17)的一半。这些性能测量是使用在x64上使用gcc和-Os编译的“ speedtest1.c”工作负载进行的。性能改进可能因平台和工作负载的不同而有所不同。


2016-09-12-版本3.14.2

SQLite 3.14.2版修复了一些难以理解的错误,并增加了对在32位Windows系统上使用STDCALL调用约定来构建SQLite的改进支持。从版本3.14和3.14.1升级是可选的。

2016-08-11-版本3.14.1

SQLite版本3.14.1添加了一个小补丁来提高pcache1TruncateUnsafe()例程的性能,适用于删除缓存末尾仅有几页的情况。当页面缓存很大时,这会使COMMIT运行得更快。从版本3.14升级是可选的。

2016-08-08-版本3.14

SQLite版本3.14(“π”版本)是一个定期计划的维护版本,其中包含性能增强,新功能以及对隐蔽错误的修复。

2016-05-18-版本3.13.0

SQLite 3.13.0版是一个定期计划的维护版本,其中包含性能增强和一些不起眼的错误的修复程序。

2016-04-18-版本3.12.2

kes!3.12.0和3.12.1版本包含向后兼容错误!声明类型为“ INTEGER” PRIMARY KEY (其中数据类型名称为INTEGER的地方)的列的表将生成一个不兼容的数据库文件。出现错误是因为开发人员从未想过将类型名放在引号中,因此没有有关该功能的文档也没有任何测试。(当然,现在有测试。)引用数据类型名称的实例在野外可能很少出现,因此我们认为此错误的影响不会太严重。仍然强烈建议升级。

此修补程序发行版中包含针对其他三个小问题的修复程序。其他问题通常会推迟到下一个计划的发行版中,但是由于无论如何都会发布补丁程序发行版,因此也可能会包括在内。


2016-04-08-版本3.12.1

SQLite版本3.12.1是一个紧急补丁程序版本,用于解决隐藏版本3.12.0中崩溃错误。强烈建议从3.12.0版本升级。

同时解决了另一个小问题,涉及视图列上的数据类型和查询计划程序不足。这两个问题本身并不能证明一个新版本的合理性,但是由于已发布一个版本来解决崩溃错误,因此我们提供了这些其他修复程序来作为一项很好的措施。


2016-03-29-版本3.12.0

SQLite版本3.12.0是定期计划的维护版本。此版本中的一个显着变化是 增加了新创建的数据库文件的默认页面大小。性能方面也有各种改进。有关详细信息,请参见更改日志


2016-03-03-版本3.11.1

SQLite的版本3.11.1是一个修补程序版本,在新修复的问题FTS5扩展,增加了一个默认设置spellfix1 扩展,以及一些Windows的makefile文件的工具增强。SQLite核心从3.11.0起没有变化。升级是可选的。


2016-02-15-版本3.11.0

SQLite版本3.11.0是定期计划的维护版本。


2016-01-20-版本3.10.2

kes!优化尝试失败,导致LIKE运算符出现 错误, 此补丁版本已修复该错误。该修补程序中还包括其他三个较小但低风险的修复程序。


2016-01-14-版本3.10.1

SQLite版本3.10.1是一个错误修复版本,主要针对Mapscape发现的查询计划程序错误 cb3aa0641d9a4的修复。还包括Mozilla的Firefox开发人员要求的次要API增强功能。与3.10.0版本的差异很小。


2016-01-06-版本3.10.0

SQLite版本3.10.0是定期计划的维护版本。


旧新闻...