[Haskell-cafe] Odd HDBC connection bug
William Shackleton
w.shackleton at gmail.com
Sat Jul 7 16:14:21 CEST 2012
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.shackleton at 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120707/4ae3b49d/attachment.htm>
More information about the Haskell-Cafe
mailing list