The direct-sqlite package

[Tags: bsd3, library]

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.

Release history:

Version 2.3.12
Upgrade bundled SQLite3 to
Version 2.3.11
Add support for URI filenames, and default to having them on. Among other things, this enables using in-memory databases.
Version 2.3.10
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 is specified.
Version 2.3.9
Update bounds on the requirement on the text library.
Version 2.3.8
Upgrade bundled SQLite3 to 3.8.1.
Version 2.3.7
Fix a test failure related to 64-bit math on column indices.
Version 2.3.6
Re-apply the stat64 hack after upgrade to the bundled SQLite3. Oops!
Version 2.3.5
Add support to compile bundled SQLite3 with full-text search. Upgrade bundled SQLite3 to 3.7.17.
Version 2.3.4
Work around a linker error on some systems; add column-name reporting.
Upgrade bundled SQLite3 to
Version 2.3.3
Add trace support, as a feature for debugging.
Version 2.3.2
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 IsString instance.
Version 2.3.1
Upgrade the bundled SQLite3 to 3.7.15. Add bindings for sqlite3_interrupt. Export Int rather than CInt.
Version 2.3
Mark some FFI calls unsafe, for a substantial performance benefit.
Version 2.2.1
Bump down text library version to match with the latest Haskell Platform.
Version 2.2
actually does what version 2.1 claimed to, since the author made a mistake with git.
Version 2.1
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).
Version 2.0
uses Text for strings instead of String.
switches to the Faction packaging system and makes no other changes.
Version 1.1
adds the SQLite amalgamation file (version 3.7.5) to the project, so that there are no external dependencies.


Versions1.0, 1.1, 2.0, 2.1, 2.2, 2.2.1, 2.3, 2.3.1, 2.3.2, 2.3.3,, 2.3.4, 2.3.5, 2.3.6, 2.3.7, 2.3.8, 2.3.9, 2.3.11, 2.3.12, 2.3.13, 2.3.14, 2.3.15
Dependenciesbase (>=4.1 && <5), bytestring (>= && <1), text (>=0.11 && <1.2)
CopyrightCopyright (c) 2012, 2013 Irene Knapp
AuthorIrene Knapp <>
Home page
Bug tracker
Source repositoryhead: git clone git://
UploadedWed Apr 9 02:21:09 UTC 2014 by IreneKnapp
DistributionsLTSHaskell:2.3.15, NixOS:2.3.15, Stackage:2.3.15
Downloads5591 total (321 in last 30 days)
StatusDocs available [build log]
Successful builds reported [all 1 reports]




systemlibUse the system-wide sqlite libraryDisabled
fulltextsearchEnable full-text search when using the bundled sqlite libraryEnabled
urifilenamesEnable URI filenames when using the bundled sqlite libraryEnabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees