packages feed

hasql-cursor-transaction 0.6.3 → 0.6.3.1

raw patch · 6 files changed

+67/−97 lines, 6 filesdep ~hasqldep ~hasql-transactionPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: hasql, hasql-transaction

API changes (from Hackage documentation)

- Hasql.CursorTransaction.Transactions: cursorTransaction :: (forall s. CursorTransaction s result) -> Transaction result
+ Hasql.CursorTransaction.Transactions: cursorTransaction :: () => forall s. () => CursorTransaction s result -> Transaction result

Files

hasql-cursor-transaction.cabal view
@@ -1,49 +1,24 @@-name:-  hasql-cursor-transaction-version:-  0.6.3-category:-  Hasql, Database, PostgreSQL, Streaming-synopsis:-  An abstraction for simultaneous fetching from multiple PostgreSQL cursors-homepage:-  https://github.com/nikita-volkov/hasql-cursor-transaction -bug-reports:-  https://github.com/nikita-volkov/hasql-cursor-transaction/issues -author:-  Nikita Volkov <nikita.y.volkov@mail.ru>-maintainer:-  Nikita Volkov <nikita.y.volkov@mail.ru>-copyright:-  (c) 2016, Nikita Volkov-license:-  MIT-license-file:-  LICENSE-build-type:-  Simple-cabal-version:-  >=1.10---source-repository head-  type:-    git-  location:-    git://github.com/nikita-volkov/hasql-cursor-transaction.git-+name: hasql-cursor-transaction+version: 0.6.3.1+category: Hasql, Database, PostgreSQL, Streaming+synopsis: An abstraction for simultaneous fetching from multiple PostgreSQL cursors+homepage: https://github.com/nikita-volkov/hasql-cursor-transaction+bug-reports: https://github.com/nikita-volkov/hasql-cursor-transaction/issues+author: Nikita Volkov <nikita.y.volkov@mail.ru>+maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>+copyright: (c) 2016, Nikita Volkov+license: MIT+license-file: LICENSE+build-type: Simple+cabal-version: >=1.10  library-  hs-source-dirs:-    library-  ghc-options:-  default-extensions:-    Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples-  default-language:-    Haskell2010+  hs-source-dirs: library+  default-extensions: Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples+  default-language: Haskell2010   other-modules:     Hasql.CursorTransaction.Private.Prelude-    Hasql.CursorTransaction.Private.Queries+    Hasql.CursorTransaction.Private.Statements     Hasql.CursorTransaction.Private.Specs     Hasql.CursorTransaction.Private.Transactions     Hasql.CursorTransaction.Private.CursorTransaction@@ -52,16 +27,12 @@     Hasql.CursorTransaction.Sessions     Hasql.CursorTransaction   build-depends:-    -- database:-    hasql >= 0.19 && < 0.20 || >= 1 && < 2,-    hasql-transaction >= 0.5 && < 0.6,-    -- data:-    bytestring-tree-builder == 0.2.*,-    bytestring >= 0.10 && < 0.11,-    -- control:-    contravariant >= 1.3 && < 2,-    contravariant-extras >= 0.3.3.1 && < 0.4,-    transformers >= 0.4 && < 0.6,-    -- general:-    base-prelude >= 1 && < 2,-    base >= 4.6 && < 5+    base >=4.6 && <5,+    base-prelude >=1 && <2,+    bytestring >=0.10 && <0.11,+    bytestring-tree-builder ==0.2.*,+    contravariant >=1.3 && <2,+    contravariant-extras >=0.3.3.1 && <0.4,+    hasql >=1.3 && <1.4,+    hasql-transaction >=0.7 && <0.8,+    transformers >=0.4 && <0.6
− library/Hasql/CursorTransaction/Private/Queries.hs
@@ -1,35 +0,0 @@-module Hasql.CursorTransaction.Private.Queries-where--import Hasql.CursorTransaction.Private.Prelude-import qualified Hasql.Query as A-import qualified Hasql.Encoders as B-import qualified Hasql.Decoders as C-import qualified Hasql.CursorTransaction.Private.Specs as F-import qualified ByteString.TreeBuilder as D---declareCursor :: ByteString -> ByteString -> B.Params a -> A.Query a ()-declareCursor name sql encoder =-  A.statement sql' encoder C.unit False-  where-    sql' =-      D.toByteString $-      "DECLARE " <> D.byteString name <> " NO SCROLL CURSOR FOR " <> D.byteString sql--closeCursor :: ByteString -> A.Query () ()-closeCursor name =-  A.statement sql B.unit C.unit True-  where-    sql =-      "CLOSE " <> name--fetchFromCursor :: ByteString -> F.BatchSize -> C.Result result -> A.Query () result-fetchFromCursor name (F.BatchSize batchSize) decoder =-  A.statement sql encoder decoder True-  where-    sql =-      D.toByteString $-      "FETCH FORWARD " <> D.asciiIntegral batchSize <> " FROM " <> D.byteString name-    encoder =-      B.unit
library/Hasql/CursorTransaction/Private/Specs.hs view
@@ -40,7 +40,7 @@ -- A parameters encoder immediately supplied with parameters. newtype EncodedParams =   EncodedParams (Supplied A.Params)-  deriving (Monoid)+  deriving (Semigroup, Monoid)  -- | -- Pack the params encoder and params into EncodedParams.
+ library/Hasql/CursorTransaction/Private/Statements.hs view
@@ -0,0 +1,35 @@+module Hasql.CursorTransaction.Private.Statements+where++import Hasql.CursorTransaction.Private.Prelude+import Hasql.Statement+import qualified Hasql.Encoders as B+import qualified Hasql.Decoders as C+import qualified Hasql.CursorTransaction.Private.Specs as F+import qualified ByteString.TreeBuilder as D+++declareCursor :: ByteString -> ByteString -> B.Params a -> Statement a ()+declareCursor name sql encoder =+  Statement sql' encoder C.unit False+  where+    sql' =+      D.toByteString $+      "DECLARE " <> D.byteString name <> " NO SCROLL CURSOR FOR " <> D.byteString sql++closeCursor :: ByteString -> Statement () ()+closeCursor name =+  Statement sql B.unit C.unit True+  where+    sql =+      "CLOSE " <> name++fetchFromCursor :: ByteString -> F.BatchSize -> C.Result result -> Statement () result+fetchFromCursor name (F.BatchSize batchSize) decoder =+  Statement sql encoder decoder True+  where+    sql =+      D.toByteString $+      "FETCH FORWARD " <> D.asciiIntegral batchSize <> " FROM " <> D.byteString name+    encoder =+      B.unit
library/Hasql/CursorTransaction/Private/Transactions.hs view
@@ -2,7 +2,7 @@ where  import Hasql.CursorTransaction.Private.Prelude-import qualified Hasql.CursorTransaction.Private.Queries as A+import qualified Hasql.CursorTransaction.Private.Statements as A import qualified Hasql.CursorTransaction.Private.Specs as B import qualified Hasql.Transaction as C import qualified Hasql.Decoders as E@@ -11,12 +11,12 @@  declareCursor :: ByteString -> ByteString -> F.Params params -> params -> C.Transaction () declareCursor cursorName template paramsEncoder params =-  C.query params (A.declareCursor cursorName template paramsEncoder)+  C.statement params (A.declareCursor cursorName template paramsEncoder)  closeCursor :: ByteString -> C.Transaction () closeCursor cursorName =-  C.query () (A.closeCursor cursorName)+  C.statement () (A.closeCursor cursorName)  fetchFromCursor :: ByteString -> B.BatchSize -> E.Result result -> C.Transaction result fetchFromCursor cursorName batchSize decoder =-  C.query () (A.fetchFromCursor cursorName batchSize decoder)+  C.statement () (A.fetchFromCursor cursorName batchSize decoder)
library/Hasql/CursorTransaction/Sessions.hs view
@@ -6,7 +6,6 @@  import Hasql.CursorTransaction.Private.Prelude import qualified Hasql.CursorTransaction.Private.CursorTransaction as A-import qualified Hasql.Transaction as B import qualified Hasql.Transaction.Sessions as D import qualified Hasql.Session as C @@ -16,4 +15,4 @@ -- During the execution it establishes a Read transaction with the ReadCommitted isolation level. cursorTransaction :: (forall s. A.CursorTransaction s result) -> C.Session result cursorTransaction cursorTransaction =-  D.transaction B.ReadCommitted B.Read (A.run cursorTransaction)+  D.transaction D.ReadCommitted D.Read (A.run cursorTransaction)