[Haskell-cafe] Merge hsql and HDBC -- there can only be one!

Jason Dagit dagit at codersbase.com
Wed Jul 7 14:29:26 EDT 2010

On Wed, Jul 7, 2010 at 10:44 AM, Christopher Done
<chrisdone at googlemail.com>wrote:

> I did try Takusen with PostgreSQL and it worked perfectly for me, too.
> The only reason I'm using HDBC is because there was already a
> HaskellDB HDBC driver. I was considering writing a Takusen driver for
> HaskellDB, in fact (if possible).
> Anyway, the point remains, we need a single goto database library. I
> don't know if Takusen's left-fold typeable way of doing things is
> different enough to disqualify it from The Great Merge or not. Though
> the lack of response to this thread makes me think no one particularly
> thinks this is a problem. Is it worth the effort having one very high
> quality stable library instead of three fairly okay
> not-really-that-different maybe-working libraries?

Let me list what I want from a database library:
1) BSD license
2) Maturity
3) ODBC and PostgreSQL backends (and possibly sqlite)
4) Integration tests for the rare cases where you use the library with a new
database engine

I used one of hsql or hdbc years ago on windows and it worked quite well at
the time, although I don't recall which one it was.  Then for years I didn't
need one, and recently I maintained/modified some code that used Takusen.

I found that Takusen is a nice library, but it lacks some polish and
maturity.  We found several "show stopper" level bugs but we were able to
work with the current maintainer to fix all of them.  The test suite that
Takusen has helped pinpoint some of the problems we had with Takusen.  To
the point, I would consider this a "must have" feature.

Combining HSQL and HDBC is going to require some relicensing to satisfy my
requirements above.  One of them is LGPL but I would like the result of
merging them to be BSD3.  I would also like to see comparative benchmarks
between Takusen and HSQL/HDBC.  I would also like confidence that utf8
encoding/decoding is handled correctly in the backends.

I have to wonder if the easiest way to merge the libraries would be to
separate the low level bits of the backends from the Haskell parts of the
libraries and put the backends into a BSD3 license package that the others
can depend on.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20100707/8f167edf/attachment.html

More information about the Haskell-Cafe mailing list