packages feed

potoki-hasql 1.1.0.1 → 1.2

raw patch · 12 files changed

+112/−99 lines, 12 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Potoki.Hasql.Error: ConnectionError :: Text -> Error
+ Potoki.Hasql.Error: InteractionError :: Text -> Error
+ Potoki.Hasql.Error: connectionError :: ConnectionError -> Error
+ Potoki.Hasql.Error: data Error
+ Potoki.Hasql.Error: sessionError :: Error -> Error
- Potoki.Hasql.Produce: vectorStatefulSession :: (state -> Session (Vector a, state)) -> state -> Settings -> Produce (Either Error a)
+ Potoki.Hasql.Produce: vectorStatefulSession :: (state -> Session (Vector a, state)) -> state -> Settings -> Int -> Produce (Either Error a)

Files

− library/Potoki/Error/Hasql.hs
@@ -1,21 +0,0 @@-{-| Hasql errors interpretation -}-module Potoki.Error.Hasql-where--import           Potoki.Prelude-import           Potoki.Error.Types-import qualified Hasql.Session            as A-import qualified Hasql.Connection         as C---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)
− library/Potoki/Error/Instances.hs
@@ -1,8 +0,0 @@-module Potoki.Error.Instances-where--import Potoki.Prelude-import Potoki.Error.Types---deriving instance Show Error
− library/Potoki/Error/Types.hs
@@ -1,14 +0,0 @@-module Potoki.Error.Types-where--import Potoki.Prelude---{-| Error, which can be produced during interaction with the Requests database.-    Comes packed with the detailed description of the problems. -}-data Error =-  {-| Connection error. Can be interpreted as a signal for reconnecting. -}-  ConnectionError Text |-  {-| Some form of an interaction error.-      Can happen for many reasons related to improper suppositions about the state of the database. -}-  InteractionError Text
library/Potoki/Hasql/Consume.hs view
@@ -1,16 +1,16 @@ module Potoki.Hasql.Consume where -import           Potoki.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.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 qualified Potoki.Error.Hasql as G-import           Potoki.Error.Types  +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     executeBatchQuery :: E.Query (Vector params) () -> Int -> B.Settings -> Consume params (Either Error ())
+ library/Potoki/Hasql/Error.hs view
@@ -0,0 +1,12 @@+module Potoki.Hasql.Error+(+    Error (..),+    module Potoki.Hasql.Error.Instances,+    connectionError,+    sessionError+)+where++import Potoki.Hasql.Error.Hasql+import Potoki.Hasql.Error.Instances+import Potoki.Hasql.Error.Types
+ library/Potoki/Hasql/Error/Hasql.hs view
@@ -0,0 +1,21 @@+{-| Hasql errors interpretation -}+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+++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)
+ library/Potoki/Hasql/Error/Instances.hs view
@@ -0,0 +1,8 @@+module Potoki.Hasql.Error.Instances+where++import Potoki.Hasql.Prelude+import Potoki.Hasql.Error.Types+++deriving instance Show Error
+ library/Potoki/Hasql/Error/Types.hs view
@@ -0,0 +1,14 @@+module Potoki.Hasql.Error.Types+where++import Potoki.Hasql.Prelude+++{-| Error, which can be produced during interaction with the Requests database.+    Comes packed with the detailed description of the problems. -}+data Error =+  {-| Connection error. Can be interpreted as a signal for reconnecting. -}+  ConnectionError Text |+  {-| Some form of an interaction error.+      Can happen for many reasons related to improper suppositions about the state of the database. -}+  InteractionError Text
+ library/Potoki/Hasql/Prelude.hs view
@@ -0,0 +1,28 @@+module Potoki.Hasql.Prelude+(+  module Exports,+  stringText,+  lenientUtf8ByteStringText,+)+where++import           Prelude                  as Exports+import           Control.Monad            as Exports (join)+import           Data.Profunctor          as Exports (right')+import           Data.IORef               as Exports+import           Data.Vector              as Exports (Vector(..))+import           Data.Text                as Exports (Text(..))+import           Control.Arrow            as Exports ((>>>))+import qualified Data.Text                as A+import qualified Data.Text.Encoding       as A+import qualified Data.Text.Encoding.Error as A+import qualified Data.ByteString          as B+++stringText :: String -> A.Text+stringText =+  A.pack++lenientUtf8ByteStringText :: B.ByteString -> A.Text+lenientUtf8ByteStringText =+  A.decodeUtf8With A.lenientDecode
library/Potoki/Hasql/Produce.hs view
@@ -3,23 +3,23 @@   statefulSession ) where -import           Potoki.Prelude-import qualified Hasql.Connection        as F-import qualified Hasql.Session           as G-import qualified Potoki.Core.Fetch       as A+import           Potoki.Hasql.Prelude+import qualified Data.Vector               as D+import qualified Hasql.Connection          as F+import qualified Hasql.Session             as G+import qualified Potoki.Core.Fetch         as A import           Potoki.Core.Produce-import qualified Potoki.Produce          as K-import qualified Potoki.Transform        as J-import qualified Potoki.Error.Hasql as I-import           Potoki.Error.Types+import qualified Potoki.Produce            as K+import qualified Potoki.Transform          as J+import qualified Potoki.Hasql.Error.Hasql  as I+import           Potoki.Hasql.Error.Types  -vectorStatefulSession :: (state -> G.Session (Vector a, state)) -> state -> F.Settings -> Produce (Either Error a)-vectorStatefulSession vectorSession initialState connectionSettings =+vectorStatefulSession :: (state -> G.Session (Vector a, state)) -> state -> F.Settings -> Int -> Produce (Either Error a)+vectorStatefulSession vectorSession initialState connectionConfig buffering =   K.transform-    (right' J.vector)-    (statefulSession vectorSession initialState connectionSettings)-+    (right' (J.takeWhile (not . D.null) >>> J.vector >>> J.bufferize buffering))+    (statefulSession vectorSession initialState connectionConfig)  statefulSession :: (state -> G.Session (a, state)) -> state -> F.Settings -> Produce (Either Error a) statefulSession session initialState =@@ -33,7 +33,6 @@         Right (result, newState) -> do           writeIORef stateRef newState           return (just (Right result))-  havingConnection :: (F.Connection -> IO (A.Fetch (Either Error a))) -> F.Settings -> Produce (Either Error a) havingConnection cont connectionSettings =
− library/Potoki/Prelude.hs
@@ -1,27 +0,0 @@-module Potoki.Prelude-(-  module Exports,-  stringText,-  lenientUtf8ByteStringText,-)-where--import           Prelude                  as Exports-import           Control.Monad            as Exports (join)-import           Data.Profunctor          as Exports (right')-import           Data.IORef               as Exports-import           Data.Vector              as Exports (Vector(..))-import           Data.Text                as Exports (Text(..))-import qualified Data.Text                as A-import qualified Data.Text.Encoding       as A-import qualified Data.Text.Encoding.Error as A-import qualified Data.ByteString          as B---stringText :: String -> A.Text-stringText =-  A.pack--lenientUtf8ByteStringText :: B.ByteString -> A.Text-lenientUtf8ByteStringText =-  A.decodeUtf8With A.lenientDecode
potoki-hasql.cabal view
@@ -1,7 +1,7 @@ name:   potoki-hasql version:-  1.1.0.1+  1.2 synopsis:   Integration of "potoki" and "hasql". description:@@ -25,7 +25,7 @@ build-type:   Simple cabal-version:-  >=1.24+  >= 1.24  source-repository head   type:@@ -43,11 +43,12 @@   exposed-modules:     Potoki.Hasql.Consume     Potoki.Hasql.Produce+    Potoki.Hasql.Error   other-modules:-    Potoki.Error.Hasql-    Potoki.Error.Instances-    Potoki.Error.Types-    Potoki.Prelude+    Potoki.Hasql.Prelude+    Potoki.Hasql.Error.Hasql+    Potoki.Hasql.Error.Instances+    Potoki.Hasql.Error.Types   build-depends:     hasql >= 1.1.1 && < 1.2,     potoki >= 0.11.1 && < 0.12,