首页 资讯频道 互联频道 智能频道 网络 数据频道 安全频道 服务器频道 存储频道

C 实现的 SQL 数据库引擎SQLite 3.31.0 发布

2020-02-01 13:27:07 来源 : 开源中国

SQLite 是一个 C 实现的 SQL 数据库引擎,它的特点是小型、快速、自包含、高可靠性和功能齐全。SQLite 嵌入在所有手机和大多数计算机中,也捆绑在为数众多的其它应用中,是世界上使用量最大的数据库引擎。作为 2020 年的第一个大版本,SQLite 3.31.0已完成发布,该版本主要功能之一是对生成/计算列的支持。具体更新内容如下:

添加对生成列的支持。

添加 sqlite3_hard_heap_limit64()接口和相应的PRAGMA hard_heap_limit命令。

增强function_listpragma以显示每个函数的参数数量,函数的类型(标量,集合,窗口)以及函数属性标志SQLITE_DETERMINISTIC,SQLITE_DIRECTONLY,SQLITE_INNOCUOUS和/或SQLITE_SUBTYPE。

将aggregated mode功能添加到DBSTAT 虚拟表中。

将SQLITE_OPEN_NOFOLLOW选项添加到sqlite3_open_v2()可以防止 SQLite 打开符号链接。

为JSON 函数路径参数添加了“#-N”数组符号。

添加了SQLITE_DBCONFIG_TRUSTED_SCHEMA连接设置,该设置也可以通过新的Trusted_schemapragma在编译时使用-DSQLITE_TRUSTED_SCHEMA编译时选项进行控制。

添加了对专用扩展有用的 APIsqlite3_filename_database(),sqlite3_filename_journal()和sqlite3_filename_wal()。

添加sqlite3_uri_key()接口。

升级了sqlite3_uri_parameter()函数,以便除了数据库文件名之外,还可以与回滚日志或WAL 文件名一起使用。

提供使用新属性SQLITE_INNOCUOUS或SQLITE_DIRECTONLY标记应用程序定义的 SQL 函数的功能。

向sqlite3_vtab_config()添加新动词,以便虚拟表的xConnect方法可以将虚拟表声明为SQLITE_VTAB_INNOCUOUS或SQLITE_VTAB_DIRECTONLY。

对sqlite3_interrupt()的响应速度更快。

添加了uuid.c扩展模块,该模块实现了用于处理 RFC-4122 UUID 的功能。

所述后备存储器分配器被增强以支持与在每个池中不同尺寸的分配两个单独的内存池。这样一来,更多的内存分配将被后备覆盖,同时将每个连接的堆内存使用量从 120KB 减少到 48KB。

legacy_file_formatpragma被停用,现在是 no-op。在其位置,提供了sqlite3_db_config()的SQLITE_DBCONFIG_LEGACY_FILE_FORMAT选项。停用legacy_file_format pragma 指示是因为它很少有用,并且在具有既具有生成列又具有降序索引的表的模式中,它与VACUUM不兼容。

更多更改详情可查阅发布说明。

此外,紧接3.31.0之后,SQLite 3.31.1也已完成发布。其更新内容包括有:恢复仅供内部使用的 SQLite 数据结构的数据布局,以及修复了 sqlite3ext.h 头文件中的错字。

相关文章

最近更新