Small. Fast. Reliable.
Choose any three.

SQLite版本3.27.2于2019-02-25

版本3.27.0(2019-02-07)中的更改:

  1. 添加了VACUUM INTO命令
  2. 如果使用 双引号的字符串文字,则在错误日志上发出SQLITE_WARNING消息。
  3. sqlite3_normalized_sql()使用创建的任何准备好的声明中接口的工作原理sqlite3_prepare_v2()sqlite3_prepare_v3() 。它不再需要使用sqlite3_prepare_v3()SQLITE_PREPARE_NORMALIZE 以使用sqlite3_normalized_sql()
  4. FTS3FTS5中添加了remove_diacritics = 2选项。
  5. sqlite3_prepare_v3()中添加了SQLITE_PREPARE_NO_VTAB选项。使用该选项可以防止对影子表的循环引用导致资源泄漏。
  6. sqlite3_deserialize()接口的增强功能:
    1. 添加SQLITE_FCNTL_SIZE_LIMIT 文件控件,以设置sqlite3_deserialize创建的内存数据库大小的上限。默认上限为1GiB,或者由sqlite3_configSQLITE_CONFIG_MEMDB_MAXSIZE)和/或SQLITE_MEMDB_DEFAULT_MAXSIZE指定的替代值 。
    2. 荣誉SQLITE_DESERIALIZE_READONLY标志,这是以前的文件中所描述的,但以前是一个空操作。
    3. 增强TCL接口的“反序列化”命令,为其赋予新的“ --maxsize N”和“ --readonly BOOLEAN”选项。
  7. CLI的增强,主要是为了支持SQLite库本身的测试和调试:
    1. 添加对“ .open --hexdb”的支持。用于生成“ hexdb”文本的“ dbtotxt ”实用程序已添加到源树中。
    2. 在“ .open --deserialize”上添加对“ --maxsize N”选项的支持。
    3. 添加“ --memtrace”命令行选项,以显示所有内存分配和释放。
    4. 在使用SQLITE_DEBUG的版本中添加“ .eqp trace”选项,以一步一步启用带有缩进和PRAGMA vdbe_trace的字节码程序列表 。
    5. 添加“ .progress”命令以访问sqlite3_progress_handler()接口。
    6. 将“ --async”选项添加到“ .backup”命令。
    7. 在“ .trace”中添加选项“ --expanded”,“-normalized”,“-plain”,“-profile”,“-row”,“-stmt”和“ --close”命令。
  8. 增强了针对恶意破坏的数据库运行的恶意SQL的鲁棒性。

    Bug修复:

  9. 不要使用局部索引对IN运算符进行表扫描。票证1d958d90596593a774
  10. 修复查询拼合器,使其可用于包含使用窗口函数的子查询的查询。机票709fcd17810f65f717
  11. 确保ALTER TABLE修改嵌入在视图和触发器的WITH子句中的表名和列名。
  12. 修复了一个解析器错误,该错误阻止在表值函数周围使用括号。
  13. 修正了该问题或优化表达式索引。票证d96eba87698a428c1d
  14. 修复了LEFT JOIN强度降低优化的问题,该问题 由于IS NOT NULL运算符而不适当地应用了该优化。机票5948e09b8c415bc45d
  15. 修复REPLACE命令,以便即使NOT NULL列的默认值为NULL,也无法再将NULL值潜入NOT NULL列。门票e6f1f2e34dceeb1ed6
  16. 解决在 相关子查询中使用窗口函数的问题。门票D0866B26F83E9C55E3
  17. 修复ALTER TABLE RENAME COLUMN命令,使其适用于具有冗余UNIQUE约束的表。门票bc8d94f0fbd633fd9a
  18. 修复了一个错误,该错误导致在插入使用表达式索引的表时,zeroblob值被截断。门票bb4bdb9f7f654b0bb9

版本3.27.1(2019-02-08)中的其他更改:

  1. 修复查询优化器中的错误:OR优化与试图使用直接从表达式索引读取的值而不是重新计算表达式的优化之间的不利相互作用。门票4e8e4857d32d401f

版本3.27.2(2019-02-25)中的其他更改:

  1. 修复了IN运算符中的一个错误,该错误是由3.27.0版中的尝试优化引入的。门票 df46dfb631f75694
  2. 修复了滥用窗口功能时导致崩溃的错误。机票 4feb3159c6bc3f7e33959
  3. 修复各种文档拼写错误

    散列:

  4. SQLITE_SOURCE_ID:bd49a8271d650fa89e446b42e513b595a717b9212c91dd384aab871fc1d0f6d7
  5. sqlite3.c的SHA3-256:1dbae33bff261f979d0042338f72c9e734b11a80720fb32498bae9150cc576e7

一个SQLite的版本的完整列表, 在一个单一的页面和年代都还可以。 SQLite版本控制站点上提供了每个签入的详细历史记录 。