1 添加对无内容删除 FTS5 索引的支持。这是一种 FTS5 全文搜索索引,可省略存储索引内容,同时还允许删除记录。
2 增强日期和时间功能:
新增了 ±YYYY-MM-DD HH:MM:SS.SSS 形式的时移修饰符。
添加了 timediff() SQL 函数。
3 添加了 octet_length(X) SQL 函数。
4 添加了 sqlite3_stmt_explain() API。
5 查询规划器增强:
通用 LEFT JOIN 强度降低优化,使其也适用于 RIGHT 和 FULL JOIN。将其更名为 “外连接强度降低”。
增强 “外连接强度降低 “优化中的定理验证器,使其返回的假阴性结果更少。
6 增强十进制扩展:
新函数 decimal_pow2(N)返回介于 -20000 和 +20000 之间的整数 N 的 N 次 2 的幂。
新函数 decimal_exp(X)与 decimal(X)的工作方式类似,但它以指数符号返回结果–在结尾处加上 “e+NN”。
如果 X 是浮点数值,那么 decimal(X) 函数现在会将该数值完全扩展为精确的十进制等价物。
7 增强了 JSON 处理的性能,使某些大型 JSON 字符串的处理性能提高了 2 倍。
8 新增了 makefile 目标 “verify-source “检查,以确保源代码树中没有无意的改动(仅适用于规范源代码,不适用于预编译的合并压缩包)。
9 添加了 SQLITE_USE_SEH 编译时选项,在 Windows 上处理作为 WAL 模式处理一部分的内存映射 shm 文件时,可启用结构化异常处理。使用 Makefile.msc 在 Windows 上编译时,默认启用此选项。
10 除非编译时使用 -DHAVE_NANOSLEEP=0,否则 unix 版 VFS 现在会假定 nanosleep() 系统调用可用。
哈希值
SQLITE_SOURCE_ID: 2023-08-24 12:36:59 0f80b798b3f4b81a7bb4233c58294edd0f1156f36b6ecf5ab8e83631d468778c
sqlite3.c 的 SHA3-256: a6fc5379891d77b69a7d324cd24a437307af66cfdc3fef5dfceec3c82c8d4078