packages feed

streamly-lmdb 0.2.1 → 0.3.0

raw patch · 4 files changed

+21/−19 lines, 4 filesdep ~streamlyPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: streamly

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -1,3 +1,7 @@+## 0.3.0++* Updated for Streamly 0.8.0.+ ## 0.2.1  * Allow QuickCheck <2.15 and tasty <1.5.
README.md view
@@ -1,7 +1,7 @@ # streamly-lmdb  [![Hackage](https://img.shields.io/hackage/v/streamly-lmdb.svg?style=flat)](https://hackage.haskell.org/package/streamly-lmdb)-[![Build Status](https://travis-ci.org/shlok/streamly-lmdb.svg?branch=master)](https://travis-ci.org/shlok/streamly-lmdb)+![CI](https://github.com/shlok/streamly-lmdb/workflows/CI/badge.svg?branch=master)  Stream data to or from LMDB databases using the Haskell [streamly](https://hackage.haskell.org/package/streamly) library. 
src/Streamly/External/LMDB.hs view
@@ -52,11 +52,11 @@ import Foreign.C.String (CStringLen) import Foreign.Marshal.Utils (with) import Foreign.Storable (poke)-import Streamly.Internal.Data.Fold (Fold (Fold))-import Streamly.Internal.Data.Stream.StreamD (newFinalizedIORef, runIORefFinalizer)+import Streamly.Internal.Data.Fold (Fold (Fold), Step (Partial))+import Streamly.Internal.Data.IOFinalizer (newIOFinalizer, runIOFinalizer) import Streamly.Internal.Data.Stream.StreamD.Type (Step (Stop, Yield)) import Streamly.Internal.Data.Unfold (supply)-import Streamly.Internal.Data.Unfold.Types (Unfold (Unfold))+import Streamly.Internal.Data.Unfold.Type (Unfold (Unfold))  import Streamly.External.LMDB.Internal import Streamly.External.LMDB.Internal.Foreign@@ -197,7 +197,7 @@             (Forward, Just _) -> (mdb_set_range, mdb_next)             (Backward, Nothing) -> (mdb_last, mdb_prev)             (Backward, Just _) ->  (mdb_set_range, mdb_prev)-    in flip supply firstOp $ Unfold+    in supply firstOp $ Unfold         (\(op, pcurs, pk, pv, ref) -> do             rc <- liftIO $                 if op == mdb_set_range && subsequentOp == mdb_prev then do@@ -221,7 +221,7 @@              found <- liftIO $                 if rc /= 0 && rc /= mdb_notfound then do-                    runIORefFinalizer ref+                    runIOFinalizer ref                     throwLMDBErrNum "mdb_cursor_get" rc                 else                     return $ rc /= mdb_notfound@@ -231,7 +231,7 @@                 !v <- liftIO $ (\x -> vmap (mv_data x, fromIntegral $ mv_size x)) =<< peek pv                 return $ Yield (k, v) (subsequentOp, pcurs, pk, pv, ref)             else do-                runIORefFinalizer ref+                runIOFinalizer ref                 return Stop)         (\op -> do             (pcurs, pk, pv, ref) <- liftIO $ mask_ $ do@@ -245,7 +245,7 @@                     Just k -> unsafeUseAsCStringLen k $ \(kp, kl) ->                         poke pk (MDB_val (fromIntegral kl) kp) -                ref <- liftIO . newFinalizedIORef $ do+                ref <- liftIO . newIOFinalizer $ do                     free pv >> free pk                     c_mdb_cursor_close pcurs                     -- No need to commit this read-only transaction.@@ -301,7 +301,7 @@         currChunkSz' <- liftIO $             if currChunkSz >= txnSize then do                 let (_, ref) = fromJust mtxn-                runIORefFinalizer ref+                runIOFinalizer ref                 return 0             else                 return currChunkSz@@ -310,7 +310,7 @@             if currChunkSz' == 0 then                 liftIO $ mask_ $ do                     ptxn <- mdb_txn_begin penv nullPtr 0-                    ref <- newFinalizedIORef $ mdb_txn_commit ptxn+                    ref <- newIOFinalizer $ mdb_txn_commit ptxn                     return (ptxn, ref)             else                 return $ fromJust mtxn@@ -331,13 +331,13 @@                                             && vbs == v                                 else                                     return False-                    unless ok $ runIORefFinalizer ref >> throw e)-        return (threadId, iter', currChunkSz' + 1, Just (ptxn, ref)))+                    unless ok $ runIOFinalizer ref >> throw e)+        return $ Partial (threadId, iter', currChunkSz' + 1, Just (ptxn, ref)))     (do         isBound <- liftIO isCurrentThreadBound         threadId <- liftIO myThreadId         if isBound then-            return (threadId, 0 :: Int, 0, Nothing)+            return $ Partial (threadId, 0 :: Int, 0, Nothing)         else             throw $ ExceptionString "Error: writeLMDB should be executed on a bound thread")     -- This final part is incompatible with scans.@@ -347,4 +347,4 @@             throw (ExceptionString "Error: writeLMDB veered off the original bound thread at the end")         case mtxn of             Nothing -> return ()-            Just (_, ref) -> runIORefFinalizer ref)+            Just (_, ref) -> runIOFinalizer ref)
streamly-lmdb.cabal view
@@ -3,11 +3,9 @@ -- This file has been generated from package.yaml by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack------ hash: d4cb0bcf729fd32460df2fbb52948a7cf9d1cff0094ec59b086b8950847e5491  name:           streamly-lmdb-version:        0.2.1+version:        0.3.0 synopsis:       Stream data to or from LMDB databases using the streamly library. description:    Please see the README on GitHub at <https://github.com/shlok/streamly-lmdb#readme> category:       Database, Streaming, Streamly@@ -49,7 +47,7 @@       async >=2.2.2 && <2.3     , base >=4.7 && <5     , bytestring >=0.10.10.0 && <0.11-    , streamly >=0.7.2 && <0.8+    , streamly ==0.8.*   default-language: Haskell2010  test-suite streamly-lmdb-test@@ -69,7 +67,7 @@     , base >=4.7 && <5     , bytestring >=0.10.10.0 && <0.11     , directory >=1.3.6.0 && <1.4-    , streamly >=0.7.2 && <0.8+    , streamly ==0.8.*     , streamly-lmdb     , tasty >=1.2.3 && <1.5     , tasty-quickcheck >=0.10.1.1 && <0.11