I found the solution to this problem: for both libraries, I had to wrap calls in 'withRTSSignalsBlocked' from HDBC-mysql.
On 16 June 2012 00:32, William Shackleton <w.shackle...@gmail.com> wrote: > Hi > > I'm having issues with HDBC when connecting to a remote MySQL server - > certain queries cause the DB connection to be lost. The following program > demonstrates this: > > import Database.HDBC > import Database.HDBC.ODBC > main = do > conn <- connectODBC "DSN=owlro" > putStrLn "Connected" > quickQuery' conn "SELECT time, power FROM Power LIMIT 100;" [] > putStrLn "Finished query 1" > quickQuery' conn "SELECT time, power FROM Power ORDER BY time;" [] > putStrLn "Finished query 2" > disconnect conn > > The DSN points to a remote 32-bit Ubuntu 12.04 Server. The connection and > queries work using mysql and isql on the command line, and the table in > question contains about 1.3 million rows and only the columns id, time, > power. > > When I compile and run this on a 64-bit Ubuntu 12.04 PC using HDBC-2.3.1.1 > and HDBC-odbc-2.3.1.0 using GHC, I get the following (unwanted) output: > $ ghc Test.hs > $ ./Test > Connected > Finished query 1 > Test: SqlError {seState = "[\"08S01\"]", seNativeError = -1, seErrorMsg = > "execute execute: [\"2013: [MySQL][ODBC 5.1 > Driver][mysqld-5.5.24-0ubuntu0.12.04.1]Lost connection to MySQL server > during query\"]"} > > This program finishes (and fails) in less than half a second. > > When I run it using runhaskell however, the slow second query completes: > $ runhaskell Test.hs > Connected > Finished query 1 > Finished query 2 > > I get the same result from ghci; this method takes about 10 seconds as > expected. > > Basically, simple (short) queries complete, yet long ones crash the > connection. I also noticed similar results with HDBC-mysql. > Any ideas on what is causing this? > Thanks, > Will Shackleton > digitalsquid.co.uk >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe