最近发布的SQLite 3.9提供了一些新特性和增强功能,包括支持JSON编解码、全文检索版本5、表达式索引、同名虚表等等。
根据采用 最新 的 语义版本 标准,SQLite 3.9是一个通过引入新特性而打破兼容性同时又向下兼容旧版本的版本。SQLite 3.9引入的新特性包括:
CREATE INDEX account_change_magnitude ON account_change(acct_no, abs(amt)); SELECT * FROM account_change WHERE acct_no=$xyz AND abs(amt)>=10000;
CREATE VIRTUAL TABLE
。 它的一个例子是dbstat虚表,它提供了一个数据库文件中的B树和溢出页的低级别信息。 CREATE VIRTUAL TABLE email USING fts5(sender, title, body);
一旦你拥有一个FTS5虚表,你可以通过三种方式来在其中查询一个词:
SELECT * FROM email WHERE email MATCH 'fts5'; SELECT * FROM email WHERE email = 'fts5'; SELECT * FROM email('fts5');
这个功能依然在实验状态。
值得一提的其它变化是当使用 CREATE VIEW 时增加了列名的可选列表,当创建一个 视图 ,并让他们在查询时检查的时候引用未定义表的可能性。
更多信息,阅读 SQLite 3.9.0 和 3.9.1 release notes 。
查看英文原文: SQLite 3.9 Supports JSON, Indexes on Expressions and More
感谢张龙对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 )。