ANN: Takusen 0.8

Alistair Bayley alistair at
Wed Mar 5 04:24:09 EST 2008

Oleg and I are pleased to announce the release of Takusen 0.8.

(Don Stewart did an interim 0.7 release for us a few weeks ago,
and added us to Hackage. This release is a tidy-up of some loose
ends, and some bug fixes. Hence, I've summarise the changes
since the 0.6 release.)

Changes since 0.6:

 - ODBC support. This still has a few gaps (and probably bugs and rough edges)
   but should be fairly usable.

 - support for reusable/persistent sessions, so you can hang onto
   the connection object between invocations of withSession
   (this was in release 0.6 but omitted from the release notes).

 - improvements to the Cabal Setup scripts, which should give
   better experiences for ghc-6.4, ghc-6.6, and ghc-6.8.
   The (eventual) 1.4 release of Cabal should be able to build our
haddock docs, too.

 - improved UTF8 decoder (marshals directly from buffer).

The release bundle:
The latest code:
  darcs get

A comprehensive description of API usage can be found in the documentation
for module Database.Enumerator (look for the Usage section):

Future plans:

 - FreeTDS backend (Sybase and MS Sql Server)

 - support for Blobs and Clobs

For those of you unfamiliar with Takusen, here is our HCAR blurb:

Takusen is a library for accessing DBMS's. Like HSQL, we support
arbitrary SQL statements (currently strings, extensible to anything
that can be converted to a string).

Takusen's `unique-selling-point' is safety and efficiency.
We statically ensure all acquired database resources - such
as cursors, connection and statement handles - are released, exactly
once, at predictable times. Takusen can avoid loading the whole result
set in memory, and so can handle queries returning millions of rows in
constant space. Takusen also supports automatic marshalling and
unmarshalling of results and query parameters. These benefits come
from the design of query result processing around a left-fold

Currently we fully support ODBC, Oracle, Sqlite, and PostgreSQL.

More information about the Libraries mailing list