potoki-hasql 1.4 → 1.5
raw patch · 3 files changed
+36/−39 lines, 3 filesdep ~hasql
Dependency ranges changed: hasql
Files
- library/Potoki/Hasql/Consume.hs +20/−20
- library/Potoki/Hasql/Error/Hasql.hs +14/−17
- potoki-hasql.cabal +2/−2
library/Potoki/Hasql/Consume.hs view
@@ -1,36 +1,36 @@ module Potoki.Hasql.Consume where -import Potoki.Hasql.Prelude -import qualified Hasql.Connection as B-import qualified Hasql.Query as E-import qualified Hasql.Session as D-import qualified Potoki.Consume as O-import Potoki.Core.Consume-import qualified Potoki.Core.Fetch as C-import qualified Potoki.Transform as F+import Potoki.Hasql.Prelude +import Potoki.Hasql.Error.Types +import Potoki.Core.Consume+import qualified Hasql.Connection as B+import qualified Hasql.Statement as E+import qualified Hasql.Session as D+import qualified Potoki.Consume as O+import qualified Potoki.Core.Fetch as C+import qualified Potoki.Transform as F import qualified Potoki.Hasql.Error.Hasql as G-import Potoki.Hasql.Error.Types -executeBatchQueryConcurrently :: Show params => E.Query (Vector params) () -> Int -> Int -> B.Settings -> Consume params (Either Error ())-executeBatchQueryConcurrently query batchSize amountOfConnections settings =+executeBatchStatementConcurrently :: E.Statement (Vector params) () -> Int -> Int -> B.Settings -> Consume params (Either Error ())+executeBatchStatementConcurrently statement batchSize amountOfConnections settings = transform batchTransform (right' O.concat) where batchTransform =- F.concurrently amountOfConnections (F.consume (executeBatchQuery query batchSize settings))+ F.concurrently amountOfConnections (F.consume (executeBatchStatement statement batchSize settings)) -executeBatchQuery :: Show params => E.Query (Vector params) () -> Int -> B.Settings -> Consume params (Either Error ())-executeBatchQuery query batchSize settings =+executeBatchStatement :: E.Statement (Vector params) () -> Int -> B.Settings -> Consume params (Either Error ())+executeBatchStatement statement batchSize settings = transform (F.consume (transform (F.take batchSize) O.vector))- (executeQuery query settings)+ (executeStatement statement settings) -executeQuery :: Show params => E.Query params () -> B.Settings -> Consume params (Either Error ())-executeQuery query =- executeSession (\ params -> D.query params query)+executeStatement :: E.Statement params () -> B.Settings -> Consume params (Either Error ())+executeStatement statement =+ executeSession (\ params -> D.statement params statement) -executeSession :: Show params => (params -> D.Session ()) -> B.Settings -> Consume params (Either Error ())+executeSession :: (params -> D.Session ()) -> B.Settings -> Consume params (Either Error ()) executeSession session connectionSettings = Consume $ \ (C.Fetch fetchIO) -> do acquisitionResult <- B.acquire connectionSettings@@ -47,5 +47,5 @@ result <- D.run (session params) connection case result of Right () -> loop- Left error -> return (Left (G.sessionErrorWithParams params error)))+ Left error -> return (Left (G.sessionError error))) in loop <* B.release connection
library/Potoki/Hasql/Error/Hasql.hs view
@@ -2,28 +2,25 @@ module Potoki.Hasql.Error.Hasql where -import Potoki.Hasql.Prelude-import Potoki.Hasql.Error.Types-import qualified Hasql.Session as A-import qualified Hasql.Connection as C+import Potoki.Hasql.Prelude+import Potoki.Hasql.Error.Types+import qualified Hasql.Session as A+import qualified Hasql.Connection as C+import qualified Data.Text as B connectionError :: C.ConnectionError -> Error connectionError details = ConnectionError (maybe "" lenientUtf8ByteStringText details) -sessionError :: A.Error -> Error-sessionError =- \ case- A.ClientError details ->- ConnectionError (maybe "" lenientUtf8ByteStringText details)- A.ResultError details ->- InteractionError ((stringText . show) details)--sessionErrorWithParams :: Show params => params -> A.Error -> Error-sessionErrorWithParams params =- \ case+sessionError :: A.QueryError -> Error+sessionError (A.QueryError sql params commandError) =+ case commandError of A.ClientError details ->- ConnectionError (maybe "" lenientUtf8ByteStringText details)+ ConnectionError (maybe queryAndParamsRendering (flip mappend ("\n" <> queryAndParamsRendering) . lenientUtf8ByteStringText) details) A.ResultError details ->- InteractionError ((fromString . shows details . showString ": " . shows params) "")+ InteractionError (fromString (show details) <> "\n" <> queryAndParamsRendering)+ where+ queryAndParamsRendering =+ "Query: " <> lenientUtf8ByteStringText sql <> "\n" <>+ "Params: " <> B.intercalate ", " params
potoki-hasql.cabal view
@@ -1,7 +1,7 @@ name: potoki-hasql version:- 1.4+ 1.5 synopsis: Integration of "potoki" and "hasql". description:@@ -50,7 +50,7 @@ Potoki.Hasql.Error.Instances Potoki.Hasql.Error.Types build-depends:- hasql >= 1.1.1 && < 1.2,+ hasql >= 1.3 && < 1.4, potoki >= 0.11.1 && < 0.12, potoki-core >= 1.5.2 && < 1.6, base >= 4.10.1.0 && < 5,