On Wed, Jul 21, 2010 at 8:59 AM, Gour <gour@gour-nitai.com> wrote:
On Wed, 21 Jul 2010 08:06:49 +0300
>>>>>> "Michael" == Michael Snoyman <michael@snoyman.com> wrote:

Michael> For the sqlite backend for persistent, I took direct-sqlite
Michael> and modified it slightly. I have a long history of using the
Michael> sqlite3 C API, so the API felt very familiar to me.

So, it seems you're satisfiew with direct-sqlite?

What is missing in 1st package (Galois bindings)?

I didn't investigate it, I would imagine it's pretty complete if Galois wrote it. I stuck with direct-sqlite just because it was so incredibly simple (single file, ~15 functions).
 
btw, after some research, I've concluded that NOSQL (Redis, MongoDB)
are not good solutions in our use-case since we want to have extensive
querying support and using sqlite3 with SQL seems better option.

That's why I'm sticking with SQL for my current project.

Michael> If I'm not mistaken, direct-sqlite does not build as-is on
Michael> hackage because it's missing a reference to the C library.

Hmm...you're right.

Apparently Archlinux package built OK; but loading it into ghci gives:

ghc: /usr/lib/direct-sqlite-1.0/ghc-6.12.1/HSdirect-sqlite-1.0.o:
unknown symbol `sqlite3_column_blob'

Thank you.

Michael> However, if you take my approach and just include the code in
Michael> your library, you can fix that easily enough.

It looks it's the problem with package's cabal file...


True, it's a very simple fix. In fact, you can just include the sqlite amalgamation file with the code and not worry about library dependencies.

Michael