SQLite 3.7.16.1 发布

jopen 11年前

SQLite 3.7.16.1 发布

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

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

特征

库实现了多数的SQL-92标准,包括事务,就是代表原子性一致性隔离性持久性的(ACID),触发器和多数的复杂查询。不进行类型检查。你可以把字符串插入到整数列中。例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。其他用户认为这是主要的缺点。

多个进程线程可以访问同一个数据而没有问题。可以并行的满足多个读访问。只有在其他访问当前不被服务的时候才能满足写访问;否则写访问失败并带有一个错误代码(也可以在可配置的超时过期之后自动的重试)。

提供了叫做sqlite的一个独立程序用来查询和管理SQLite数据库文件。 它也充当写使用SQLite库的应用的一个例子。

语言绑定

可以从C/C++程序中使用这个库,还可以获得对Tcl和一些其他脚本语言的绑定。

在CPAN的DBD::SQLite上有一个Perl的DBI/DBD模块,它不是到SQLite的接口,而是包括整个SQLite数据库引擎在其中并不需要任何额外的软件。

还有一个Python模块叫做PySQLite

PHP从PHP5.0开始包含了SQLite,但是自5.1版之后开始成为一个延伸函式库。SQLite能与PHP4一起工作但不包含在其中。

Rails2.0.3将缺省的数据库配置改为了SQLite 3

SQLite管理客户端

SQLite亦可以作为桌面数据库使用,以下为第三方SQLite的GUI软件。例如,

  • SQLiteMan,使用QT开发的一个SQLite客户端,支持多语言、跨平台。SQLiteMan
  • SQLite Manager, 以 火狐浏览器的扩展形式提供的SQLite客户端。
  • SQLite Database Browser, a graphical client to access SQLite databases
  • SqlPro SQL Client, another graphical client to work with SQLite databases

SQLite 3.7.16.1 发布, 主要以下内容:

  • 修复 3.7.15 版本因为优化 ORDER BY 而导致的bug. Ticket a179fe7465.
  • 修复一个长期存在的在CAST表达式中会将UTF16字符(即使高位不为0)当作数字的bug. Ticket 689137afb6da41.
  • 修复 FTS3/NEAR 有关的 bug. Ticket 38b1ae018f.
  • 修复一个长期存在的在存储引擎中误报SQLITE_CORRUPT错误的bug. Ticket 6bfb98dfc0c.
  • 移除 SQLITE_OMIT_MERGE_SORT 操作符. 现在 merge sorter 作为SQLite的一个必须组件.
  • 修复一些注释中拼写的错误
  • SQLITE_SOURCE_ID: "2013-03-29 13:44:34 527231bc67285f01fb18d4451b28f61da3c4e39d"
  • sqlite3.c的SHA1校验码为: 7a91ceceac9bcf47ceb8219126276e5518f7ff5a

细节请参考: http://www.sqlite.org/releaselog/3_7_16_1.html