
I have Takusen 0.8.5 installed and I'm trying to build
code found at http://darcs.haskell.org/takusen/doc/html/Database-Enumerator.
the html using ghc 6.10.3. This always fails with the error:
Could not find module `Database.Oracle.Enumerator'
The analogous errors are encountered if I substitute
Oracle
with Sqlite, Postgresql or ODBC. Any ideas how to resolve this?
OK, this now compiles thanks to (a) hacking Setup.hs to refer to odbc_config rather than odbcconf and (b) unregistering the user packages with ghc-pkg --user unregister Takusen. However, if I then create a table in MySQL with: create table dummy (id int primary key); and then use a reduced form of the example code: import Database.Enumerator import Database.ODBC.Enumerator import Control.Monad.Trans(liftIO) query1Iteratee :: (Monad m) => Int -> String -> Double -> IterAct m [(Int, String, Double)] query1Iteratee a b c accum = result' ((a, b, c):accum) main :: IO () main = do withSession (connect "DSN=test") ( do -- simple query, returning reversed list of rows. r <- doQuery (sql "select id from dummy") query1Iteratee [] liftIO(putStrLn(show r)) ) then I get the error: fromUTF8Ptr: zero byte found in string as position 8 Is there any thing wrong with the above code? Also, what does liftIO actually do? Its documentation at http://cvs.haskell.org/Hugs/pages/libraries/mtl/Control-Monad-Trans.html does not actually say! The link at the top of that page is dead as well. Regards, Daniel