packages feed

mysql-simple 0.4.0.1 → 0.4.1.0

raw patch · 7 files changed

+49/−33 lines, 7 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Database.MySQL.Simple.QueryResults: instance (Database.MySQL.Simple.Result.Result a, Database.MySQL.Simple.Result.Result b, Database.MySQL.Simple.Result.Result c, Database.MySQL.Simple.Result.Result d, Database.MySQL.Simple.Result.Result e, Database.MySQL.Simple.Result.Result f, Database.MySQL.Simple.Result.Result g, Database.MySQL.Simple.Result.Result h, Database.MySQL.Simple.Result.Result i, Database.MySQL.Simple.Result.Result j, Database.MySQL.Simple.Result.Result k, Database.MySQL.Simple.Result.Result l, Database.MySQL.Simple.Result.Result m, Database.MySQL.Simple.Result.Result n, Database.MySQL.Simple.Result.Result o, Database.MySQL.Simple.Result.Result p, Database.MySQL.Simple.Result.Result q, Database.MySQL.Simple.Result.Result r, Database.MySQL.Simple.Result.Result s, Database.MySQL.Simple.Result.Result t) => Database.MySQL.Simple.QueryResults.QueryResults (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
+ Database.MySQL.Simple.QueryResults: instance (Database.MySQL.Simple.Result.Result a, Database.MySQL.Simple.Result.Result b, Database.MySQL.Simple.Result.Result c, Database.MySQL.Simple.Result.Result d, Database.MySQL.Simple.Result.Result e, Database.MySQL.Simple.Result.Result f, Database.MySQL.Simple.Result.Result g, Database.MySQL.Simple.Result.Result h, Database.MySQL.Simple.Result.Result i, Database.MySQL.Simple.Result.Result j, Database.MySQL.Simple.Result.Result k, Database.MySQL.Simple.Result.Result l, Database.MySQL.Simple.Result.Result m, Database.MySQL.Simple.Result.Result n, Database.MySQL.Simple.Result.Result o, Database.MySQL.Simple.Result.Result p, Database.MySQL.Simple.Result.Result q, Database.MySQL.Simple.Result.Result r, Database.MySQL.Simple.Result.Result s, Database.MySQL.Simple.Result.Result t, Database.MySQL.Simple.Result.Result u) => Database.MySQL.Simple.QueryResults.QueryResults (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)

Files

ChangeLog.md view
@@ -1,3 +1,9 @@+## 0.4.1.0++* Add missing tuple instances of QueryResults (https://github.com/paul-rouse/mysql-simple/issues/9)+* Fix `error "foo"` left in code (https://github.com/paul-rouse/mysql-simple/issues/39)+* Allow fractional seconds in to be parsed in date/time results https://github.com/paul-rouse/mysql-simple/pull/37+ ## 0.4.0.1  * Fix https://github.com/paul-rouse/mysql-simple/issues/35
Database/MySQL/Simple.hs view
@@ -161,7 +161,7 @@       return . toByteString . mconcat $ fromByteString before :                                         intersperse (fromChar ',') bs ++                                         [fromByteString after]-    _ -> error "foo"+    _ -> fmtError "incorrect parameter syntax in query" q []   where    re = compile "^([^?]+\\bvalues\\s*)\                  \(\\(\\s*[?](?:\\s*,\\s*[?])*\\s*\\))\
Database/MySQL/Simple/QueryResults.hs view
@@ -284,6 +284,44 @@ instance (Result a, Result b, Result c, Result d, Result e, Result f,           Result g, Result h, Result i, Result j, Result k, Result l,           Result m, Result n, Result o, Result p, Result q, Result r,+          Result s, Result t) =>+    QueryResults (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) where+    convertResults [fa,fb,fc,fd,fe,ff,fg,fh,fi,fj,fk,fl,fm,fn,fo,fp,fq,fr,fs,+                    ft]+                   [va,vb,vc,vd,ve,vf,vg,vh,vi,vj,vk,vl,vm,vn,vo,vp,vq,vr,vs,+                    vt]+        = (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t)+        where !a = convert fa va; !b = convert fb vb; !c = convert fc vc+              !d = convert fd vd; !e = convert fe ve; !f = convert ff vf+              !g = convert fg vg; !h = convert fh vh; !i = convert fi vi+              !j = convert fj vj; !k = convert fk vk; !l = convert fl vl+              !m = convert fm vm; !n = convert fn vn; !o = convert fo vo+              !p = convert fp vp; !q = convert fq vq; !r = convert fr vr+              !s = convert fs vs; !t = convert ft vt+    convertResults fs_ vs_  = convertError fs_ vs_ 20++instance (Result a, Result b, Result c, Result d, Result e, Result f,+          Result g, Result h, Result i, Result j, Result k, Result l,+          Result m, Result n, Result o, Result p, Result q, Result r,+          Result s, Result t, Result u) =>+    QueryResults (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) where+    convertResults [fa,fb,fc,fd,fe,ff,fg,fh,fi,fj,fk,fl,fm,fn,fo,fp,fq,fr,fs,+                    ft,fu]+                   [va,vb,vc,vd,ve,vf,vg,vh,vi,vj,vk,vl,vm,vn,vo,vp,vq,vr,vs,+                    vt,vu]+        = (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u)+        where !a = convert fa va; !b = convert fb vb; !c = convert fc vc+              !d = convert fd vd; !e = convert fe ve; !f = convert ff vf+              !g = convert fg vg; !h = convert fh vh; !i = convert fi vi+              !j = convert fj vj; !k = convert fk vk; !l = convert fl vl+              !m = convert fm vm; !n = convert fn vn; !o = convert fo vo+              !p = convert fp vp; !q = convert fq vq; !r = convert fr vr+              !s = convert fs vs; !t = convert ft vt; !u = convert fu vu+    convertResults fs_ vs_  = convertError fs_ vs_ 21++instance (Result a, Result b, Result c, Result d, Result e, Result f,+          Result g, Result h, Result i, Result j, Result k, Result l,+          Result m, Result n, Result o, Result p, Result q, Result r,           Result s, Result t, Result u, Result v) =>     QueryResults (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) where     convertResults [fa,fb,fc,fd,fe,ff,fg,fh,fi,fj,fk,fl,fm,fn,fo,fp,fq,fr,fs,
Database/MySQL/Simple/Result.hs view
@@ -162,7 +162,7 @@  instance Result UTCTime where     convert f = doConvert f ok $ \bs ->-                case parseTime defaultTimeLocale "%F %T" (B8.unpack bs) of+                case parseTime defaultTimeLocale "%F %T%Q" (B8.unpack bs) of                   Just t -> t                   Nothing                     | SB.isPrefixOf "0000-00-00" bs ->
mysql-simple.cabal view
@@ -1,5 +1,5 @@ name:           mysql-simple-version:        0.4.0.1+version:        0.4.1.0 homepage:       https://github.com/paul-rouse/mysql-simple bug-reports:    https://github.com/paul-rouse/mysql-simple/issues synopsis:       A mid-level MySQL client library.
stack.yaml view
@@ -4,4 +4,4 @@ packages: - '.' extra-deps: []-resolver: lts-6.25+resolver: lts-8.24
test/main.hs view
@@ -4,9 +4,7 @@ import Database.MySQL.Simple (ConnectInfo (..), defaultConnectInfo,                               connect, close,                               query_, Only (..))-import System.Exit           (exitFailure) import Test.Hspec-import TestOpts              (dbtests)  -- This is how to connect to our test database testConn :: ConnectInfo@@ -16,39 +14,13 @@                connectDatabase = "test"            } -advice :: String-advice =-    "\n\-    \Database test not run for mysql-simple\n\-    \======================================\n\-    \\n\-    \To run the tests properly, you need to specify the flag 'dbtests' when\n\-    \building the test, for example either of these commands will do it:\n\-    \\n\-    \    stack test --flag mysql-simple:dbtests\n\-    \    cabal configure --enable-tests --flags=dbtests && cabal test\n\-    \\n\-    \You also need to set up a MySQL database which the test can use via\n\-    \these connection parameters:\n\-    \\n\-    \    Host          \"127.0.0.1\"\n\-    \    Port          3306\n\-    \    User          \"test\"\n\-    \    Password      \"\"\n\-    \    Database      \"test\"\n\-    \\n"-    - -- Only the most cursory test is done at the moment, simply showing that -- things hang together sufficiently well that we can talk to the database -- server. -- main :: IO ()-main = if dbtests then bracket (connect testConn) close $ \conn -> hspec $ do+main = bracket (connect testConn) close $ \conn -> hspec $ do     describe "Database" $ do       it "seems to be connected" $ do         result <- query_ conn "select 1 + 1"         result `shouldBe` [Only (2::Int)]-  else do-      putStr advice-      exitFailure