This package is not very different from the other SQLite3 bindings out there, but it fixes a few deficiencies I was finding. As compared to bindings-sqlite3, it is slightly higher-level, in that it supports marshalling of data values to and from the database. In particular, it supports strings encoded as UTF8, and BLOBs represented as ByteStrings.
* Upgrade embedded sqlite3 library to 3.24.0.
* Add faster `stepNoCB` function for statements that don't callback to Haskell functions.
* Use faster "unsafe" FFI calls for the following functions:
reset, blobOpen, blobClose, blobReopen, blobRead, blobWrite, backupStep, errcode, errmsg
as they are frequently used and don't callback to Haskell functions.
* Use faster Haskell memory allocator in blobRead function.
* Add Semigroup instance to support GHC 8.4.1 (thanks @gwils)
* Build clean up for Android support (thanks @kmicklas)
* Update sqlite to 3.22.0
* Update sqlite to 3.20.1
* Add -DSQLITE_ENABLE_FTS5 to build options
* Enable use of usleep (thanks @dbdbdb)
* Add sqlite3.h and sqlite3ext.h to install-includes (thanks @duog)
* Upgrade embedded sqlite3 library to 3.15.2.
* Upgrade embedded sqlite3 library to 3.15.0.
* Fix regressions in the test suite that were either introduced by changes
in GHC 8 and/or stuff we missed in previous releases.
* Use a randomly created temp file for test database when running
unit tests instead of a hardcoded file under 'dist/'. Hopefully
* Add an Eq instance for SQLError
* Add support for the online backup API
* Add support for incremental blob I/O
* Add support for zeroblobs
* Add support for enabling/disabling the shared cache mode
* Add low-level bindings to sqlite3_wal_hook
* Add function for retrieving the db handle from a custom function
* Add bindings for sqlite3_errcode
* Improve Travis CI coverage to cover more GHC versions (GHC 7.4 and higher)
* Big thanks to Mario Titas and Marcin Tolysz for the above!
* Add custom functions, aggregates and collations.
* Upgrade the bundled SQLite3 library to 3.8.5.
* Add bindings for controlling whether extension loading is
enabled or disabled.
* Bump text and bytestring versions (actually, risking it and
removing upper bounds)
* Add support for named parameters to queries. Split this changelog into
a separate file (preserving its history).
* Upgrade bundled SQLite3 to 184.108.40.206.
* Add support for URI filenames, and default to having them
on. Among other things, this enables using in-memory databases.
* Add support for compiling the bundled SQLite3 with URI filename
support. Specifying flags that would have affected the bundled
SQLite3 no longer causes build failure if the "systemlib" flag
* Update bounds on the requirement on the "text" library.
* Upgrade bundled SQLite3 to 3.8.1.
* Fix a test failure related to 64-bit math on column indices.
* Re-apply the stat64 hack after upgrade to the bundled
* Add support to compile bundled SQLite3 with full-text
search. Upgrade bundled SQLite3 to 3.7.17.
* Work around a linker error on some systems; add column-name
* Upgrade bundled SQLite3 to 220.127.116.11.
* Add trace support, as a feature for debugging.
* Add execPrint, execWithCallback, and interruptibly functions.
Add bindings for sqlite3_last_insert_rowid and sqlite3_changes.
Change the Show instance of the Utf8 newtype to better match the
* Upgrade the bundled SQLite3 to 3.7.15. Add bindings for
sqlite3_interrupt. Export Int rather than CInt.
* Mark some FFI calls "unsafe", for a substantial performance
* Bump down text library version to match with the latest Haskell
* Actually does what version 2.1 claimed to, since the author made
a mistake with git.
* Improves handling of invalid UTF-8 and changes error handling to
be more complete. It also adds a build flag to build against the
system sqlite instead of the bundled one, optionally
(disabled by default).
* Uses Text for strings instead of String.
* Switches to the Faction packaging system and makes
no other changes.
* Adds the SQLite amalgamation file (version 3.7.5) to the
project, so that there are no external dependencies.