手机版
你好,游客 登录 注册
背景:
阅读新闻

SQLite 3.27.1 发布,数据库服务器

[日期:2019-02-10] 来源:Linux公社  作者:醉落红尘 [字体: ]

SQLite发布3.27.1版本

1.修复查询优化器中的错误:OR优化和优化之间的不利交互,尝试使用直接从表达式索引读取的值,而不是重新计算表达式。

从SQLite 3.27.0继续进行的更改:

  1. 添加了VACUUM INTO命令
  2. 如果使用双引号字符串文字,则在错误日志上发出SQLITE_WARNING消息。
  3. sqlite3_normalized_sql()接口适用于使用sqlite3_prepare_v2()或sqlite3_prepare_v3()创建的任何预准备语句。为了使用sqlite3_normalized_sql(),不再需要将sqlite3_prepare_v3()与SQLITE_PREPARE_NORMALIZE一起使用。
  4. 在FTS3和FTS5中添加了remove_diacritics=2选项。
  5. 为sqlite3_prepare_v3()添加了SQLITE_PREPARE_NO_VTAB选项。使用该选项可防止对影子表的循环引用导致资源泄漏。
  6. sqlite3_deserialize()接口的增强功能:
    1. 添加SQLITE_FCNTL_SIZE_LIMIT文件控件,用于设置sqlite3_deserialize创建的内存数据库大小的上限。默认上限为1GiB,或者sqlite3_config(SQLITE_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. 将 "--expanded", "--normalized", "--plain", "--profile", "--row", "--stmt", and "--close" to the ".trace"添加到“.trace”中命令。
  8. 增强针对恶意SQL的稳健性,该恶意SQL针对恶意破坏的数据库运行。

Bug修复:

不要使用部分索引在IN运算符上执行表扫描。

修复查询flattener,使其适用于包含使用窗口函数的子查询的查询。

确保ALTER TABLE修改嵌入在作为视图和触发器一部分的WITH子句中的表名和列名。

修复一个解析器错误,该错误阻止在表值函数周围使用括号。

修复表达式索引的OR优化问题。

修复LEFT JOIN强度降低优化的问题,其中由于IS NOT NULL运算符而不适当地应用优化。

修复REPLACE命令,使其无法再将NULL值潜入NOT NULL列,即使NOT NULL列的默认值为NULL也是如此。

修复使用相关子查询中使用的窗口函数的问题。

修复ALTER TABLE RENAME COLUMN命令,使其适用于具有冗余UNIQUE约束的表。

修复了在插入使用表达式索引的表时导致zeroblob值被截断的错误。

下载地址:http://www.sqlite.org/download.html

SQLite是遵守ACID的关联式数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。

不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。

SQLite3中存储类型和数据类型结合文档解析  https://www.linuxidc.com/Linux/2015-08/121971.htm
SQLite3 安装、基本操作 https://www.linuxidc.com/Linux/2012-05/60452.htm
Ubuntu 12.04下SQLite数据库简单应用 https://www.linuxidc.com/Linux/2012-06/63379.htm
Ubuntu 12.04下安装 SQLite及其使用方法 https://www.linuxidc.com/Linux/2013-08/89155.htm
SQLite 数据库入门基础教程 https://www.linuxidc.com/Linux/2014-06/103587.htm

SQLite 的详细介绍请点这里
SQLite 的下载地址请点这里

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-02/156839.htm

linux
相关资讯       sqlite 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款