SQLite Adds Zipfile Support
Written by Kay Ewbank   
Thursday, 25 January 2018

There's a new version of SQLIte with support for Zip files, an improved query planner, and a sqlite_btreeinfo virtual table.

 

 

SQLite is an in-process library that implements a self-contained, serverless, transactional SQL database engine. The entire SQL database with multiple tables, indexes, triggers, and views, is contained in a single disk file. 

The most interesting change to the new release is the ability of the Zipfile virtual table to read and write directly to a ZIP Archive. The zipfile module provides two similar interfaces for accessing zip archives. There's a table-valued function, which provides read-only access to existing archives, and a virtual table interface, which provides both read and write access. You can add files to an existing zip archive by inserting new rows, and edit or delete existing files using UPDATE and DELETE.

SQLite has also added the ability to read from WAL mode databases even if the application lacks write permission on the database and its containing directory.

Another improvement is the addition of Append VFS. This is a virtual file system shim that allows a SQLite database to be appended to some other file. The release notes say that a typical use for Append VFS would be to append a database to an executable that then opens and reads the database.

The query planner is another area to have been improved, firstly by extending the optimization that uses an index to quickly compute an aggregate min() or max() so that it now works with indexes on expressions. The second way the query planner has been improved is by avoiding query plans that use indexes with unknown collating functions. Another improvement means the planner now omits unused left joins, even if they are not the right-most joins of a query.

Finally, when deciding whether to implement a FROM-clause subquery as a co-routine, or to use query flattening instead, the query planner now considers whether the result set of the outer query is "complex". The result set is considered complex if it contains functions or expression subqueries, and in that case the decision on which option to choose will be biased towards the use of co-routines.

The command-line shell has received a number of improvements, including the addition of support for reading and writing SQL Archive files using the .archive command; and various new commands including the edit() SQL function, and a .excel command to simplify exporting database content to a spreadsheet.

sqlite More Information

SQLite Site

Related Articles

SQLite 3.20 Improves Query Planner

SQLite 3.17 Adds SHA1 Extensions 

SQLite 3.16 Adds Pragma Functions  

SQLite 3.15 Adds Row Value Support

Portable Version Of DB Browser For SQLite

SQLite 3.9 

SQLite Updated

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

Banner


The Feds Want Us To Move On From C/C++
13/11/2024

The clamour for safe programming languages seems to be growing and becoming official. We have known for a while that C and C++ are dangerous languages so why has it become such an issue now and is it  [ ... ]



Wasmer 5 Adds iOS Support
12/11/2024

The Wasmer team has released Wasmer 5.0. The WebAssembly runtime adds experimental support for more back ends including V8, Wasmi and WAMR. It also now has iOS support, and upgraded compilers includin [ ... ]


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Thursday, 25 January 2018 )