higher-leveldb 0.1.0.1 → 0.1.0.2
raw patch · 2 files changed
+8/−4 lines, 2 files
Files
higher-leveldb.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: higher-leveldb-version: 0.1.0.1+version: 0.1.0.2 synopsis: A rich monadic API for working with leveldb databases. description: A rich monadic API for working with leveldb databases. homepage: https://github.com/jeremyjh/higher-leveldb
src/Database/LevelDB/Higher.hs view
@@ -347,16 +347,18 @@ -> m b scan k scanQuery = do (db, ksId, (ropt,_)) <- getDB- withIterator db ropt $ doScan (ksId <> k)+ withIterator db ropt $ doScan (ksId <> k) ksId where- doScan prefix iter = do+ doScan prefix ksId iter = do iterSeek iter prefix applyIterate initV where readItem = do nk <- iterKey iter nv <- iterValue iter- return (fmap (BS.drop 4) nk, nv) --unkeyspace+ if sameKsId nk then+ return (fmap (BS.drop 4) nk, nv) --unkeyspace+ else return (Nothing, Nothing) applyIterate acc = do item <- readItem case item of@@ -369,6 +371,8 @@ else items else return acc _ -> return acc+ sameKsId Nothing = False+ sameKsId (Just nk) = BS.take 4 nk == ksId initV = scanInit scanQuery whileFn = scanWhile scanQuery k mapFn = scanMap scanQuery