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 +0/−21
- library/Potoki/Error/Instances.hs +0/−8
- library/Potoki/Error/Types.hs +0/−14
- library/Potoki/Hasql/Consume.hs +9/−9
- library/Potoki/Hasql/Error.hs +12/−0
- library/Potoki/Hasql/Error/Hasql.hs +21/−0
- library/Potoki/Hasql/Error/Instances.hs +8/−0
- library/Potoki/Hasql/Error/Types.hs +14/−0
- library/Potoki/Hasql/Prelude.hs +28/−0
- library/Potoki/Hasql/Produce.hs +13/−14
- library/Potoki/Prelude.hs +0/−27
- potoki-hasql.cabal +7/−6
− 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,