packages feed

mysql 0.1.2 → 0.1.2.1

raw patch · 4 files changed

+15/−7 lines, 4 files

Files

ChangeLog.md view
@@ -1,3 +1,7 @@+## 0.1.2.1++* Fix bystestring-valued connectOptions sometimes not being null terminated at the correct place (avoid unsafeUseAsCString).+ ## 0.1.2  * Fix setup for cabal 1.24
Database/MySQL/Base/C.hsc view
@@ -69,7 +69,6 @@ #include "mysql.h"  import Data.ByteString (useAsCString)-import Data.ByteString.Unsafe (unsafeUseAsCString) import Database.MySQL.Base.Types import Foreign.C.String (CString, withCString) ##if __GLASGOW_HASKELL__ >= 704@@ -98,7 +97,7 @@       ReadDefaultFile path ->         withCString path $ go (#const MYSQL_READ_DEFAULT_FILE)       ReadDefaultGroup group ->-        unsafeUseAsCString group $ go (#const MYSQL_READ_DEFAULT_GROUP)+        useAsCString group $ go (#const MYSQL_READ_DEFAULT_GROUP)       CharsetDir path ->         withCString path $ go (#const MYSQL_SET_CHARSET_DIR)       CharsetName cs ->@@ -108,7 +107,7 @@       Protocol proto ->         withIntegral (fromEnum proto) $ go (#const MYSQL_OPT_PROTOCOL)       SharedMemoryBaseName name ->-        unsafeUseAsCString name $ go (#const MYSQL_SHARED_MEMORY_BASE_NAME)+        useAsCString name $ go (#const MYSQL_SHARED_MEMORY_BASE_NAME)       ReadTimeout secs ->         withIntegral secs $ go (#const MYSQL_OPT_READ_TIMEOUT)       WriteTimeout secs ->@@ -120,7 +119,7 @@       GuessConnection ->         go (#const MYSQL_OPT_GUESS_CONNECTION) nullPtr       ClientIP ip ->-        unsafeUseAsCString ip $ go (#const MYSQL_SET_CLIENT_IP)+        useAsCString ip $ go (#const MYSQL_SET_CLIENT_IP)       SecureAuth b ->         withBool b $ go (#const MYSQL_SECURE_AUTH)       ReportDataTruncation b ->
mysql.cabal view
@@ -1,5 +1,5 @@ name:           mysql-version:        0.1.2+version:        0.1.2.1 homepage:       https://github.com/paul-rouse/mysql bug-reports:    https://github.com/paul-rouse/mysql/issues synopsis:       A low-level MySQL client library.
test/main.hs view
@@ -1,17 +1,22 @@ {-# LANGUAGE OverloadedStrings          #-}  import Control.Exception     (bracket)-import Database.MySQL.Base   (ConnectInfo (..), defaultConnectInfo,+import Database.MySQL.Base   (ConnectInfo (..), defaultConnectInfo, Option (..),                               connect, close,                               query, useResult, fetchRow) import Test.Hspec  -- This is how to connect to our test database+-- Options with bytestring values are given to partially test #17 and #23 testConn :: ConnectInfo testConn = defaultConnectInfo {                connectHost     = "127.0.0.1",                connectUser     = "test",-               connectDatabase = "test"+               connectDatabase = "test",+               connectOptions  = [+                   InitCommand "SET SESSION sql_mode = 'STRICT_ALL_TABLES';"+                 , ReadDefaultGroup "client"+               ]            }  -- Only the most cursory test is done at the moment, simply showing that