Small. Fast. Reliable.
Choose any three.
首页
Menu
关于
文档
下载
执照
支持
购买
教程
网站转手
Search
About
Documentation
Download
Support
Purchase
Search Documentation
Search Changelog
SQLite版本3.35.0于2021-03-12
添加了
内置的SQL数学函数()
。(需要
-DSQLITE_ENABLE_MATH_FUNCTIONS
编译时选项。)
增加了对
ALTER TABLE DROP COLUMN的
支持。
概括
UPSERT
:
允许按顺序评估多个ON CONFLICT子句,
最后的ON CONFLICT子句可以省略冲突目标,但仍使用DO UPDATE。
在
DELETE
,
INSERT
和
UPDATE
语句上添加对
RETURNING
子句的支持。
在包含非常大的TEXT或BLOB值的数据库上运行
VACUUM
时,使用较少的内存。不再需要一次将整个TEXT或BLOB都保存在内存中。
指定
公用表表达式
时,增加对
MATERIALIZED
和
NOT MATERIALIZED
提示的支持。默认行为以前是NOT MATERIALIZED,但现在已被多次使用的CTE更改为MATERIALIZED。
该
SQLITE_DBCONFIG_ENABLE_TRIGGER
和
SQLITE_DBCONFIG_ENABLE_VIEW
设置被修改,使它们只控制在主数据库模式或在连接数据库模式,而不是在TEMP模式触发器和视图。始终允许使用TEMP触发器和视图。
查询计划器/优化器的改进:
最小/最大优化的
增强功能,以便与IN运算符和先前版本的OP_SeekScan优化更好地配合使用。
尝试在WHERE子句中处理EXISTS运算符,就好像它们是IN运算符一样,这是有效的转换,并且似乎可能会提高性能。
即使父查询是
联接,
也允许统一UNION ALL子查询。
即使禁用了STAT4,也可以在WHERE子句中的IS NOT NULL表达式上使用索引(如果适用)。
如果“ x”是具有“ NOT NULL”约束并且不参与外部联接的列,则形式为“ x IS NULL”或“ x IS NOT NULL”的表达式可能会转换为FALSE或TRUE。
如果UPDATE不会修改与外键关联的任何列,请避免检查UPDATE语句上的外键约束。
只要WHERE术语完全由常量和在子查询中所有窗口函数的PARTITION BY子句中找到的表达式的副本组成,就允许将WHERE术语
下推
到包含窗口函数的子查询中。
CLI
增强功能:
增强“ .stats”命令以接受新的参数“ stmt”和“ vmstep”,从而分别导致准备语句统计信息和仅显示虚拟机步骤计数。
添加“ .filectrl data_version”命令。
增强“ .once”和“ .output”命令,以便如果目标参数以“ |”开头 (指示将输出重定向到管道中),则不需要用引号将其引起来。
Bug修复:
修复在处理具有相关WHERE子句和“ HAVING 0”子句的语法错误的SELECT语句时潜在的NULL指针取消引用的问题。(也在3.34.1修补程序版本中修复。)
修复了 3.33.0版
的IN-operator优化中
的一个
错误,该错误
可能导致错误的答案。
如果模式以“%”结尾并且存在“ ESCAPE'_'”子句,请修复来自
LIKE运算符的
错误答案。
散列:
SQLITE_SOURCE_ID:2021-03-12 15:10:09 acd63062eb06748bfe9e4886639e4f2b54ea6a496a83f10716abbaba4115500b
sqlite3.c的SHA3-256:73a740d881735bef9de7f7bce8c9e6b9e57fe3e77fa7d76a6e8fc5c262fbaedf
一个
SQLite的版本的完整列表,
在一个单一的页面和
年代
都还可以。
SQLite版本控制站点上
提供了每个签入的详细历史记录 。