Package developers should not totally rely on this package, emacs-sqlite is highly recommended (maybe you should support this package as an option) since SQLite CLI is not designed for Inter-Process Communication. This package requires a hack to make it work.
For more information, please read the “SQLite Implementation Difficulties”
section of the article written by original developer of emacs-sqlite. It
explains the weird behaviour of sqlite3
CLI and why it sucks.
This is yet another EmacSQL backend for SQLite, which use official sqlite3
executable to access SQL database.
emacsql-sqlite3
is available on melpa.
For Emacs users, please notice that this package won’t provide any feature for convenience. If you aren’t sure you need this, you probably don’t need this.
For package developers, this package can be a replacement of emacsql-sqlite and it doesn’t require user to have a C compiler, but please read following precautions.
- You need to install
sqlite3
official CLI tool, 3.8.2 version or above were tested,emacsql-sqlite3
may won’t work if you using lower version. - This package should be compatible with
emacsql-sqlite3
for most cases. But foreign key support was disabled by default. To enable this feature, use(emacsql <db> [:pragma (= foreign_keys ON)])
The only entry point to a EmacSQL interface is emacsql-sqlite3
, for more
information, please check EmacSQL’s README.
The tests don’t pass under Emacs 25.1 for unknown reason, so we don’t support Emacs 25.1 currently like emacsql-sqlite. But any PR to improve this are welcomed.