hs-cdb 0.1.1 → 0.1.2
raw patch · 4 files changed
+9/−9 lines, 4 filesdep +mmapdep −bytestring-mmapdep ~arrayPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: mmap
Dependencies removed: bytestring-mmap
Dependency ranges changed: array
API changes (from Hackage documentation)
- Database.CDB.Packable: instance Packable (UArray Word32 Word32)
- Database.CDB.Packable: instance Packable ByteString
- Database.CDB.Packable: instance Packable Word32
- Database.CDB.Packable: instance Packable [Char]
- Database.CDB.Packable: instance Packable [Word8]
- Database.CDB.Packable: instance Unpackable ByteString
- Database.CDB.Packable: instance Unpackable [Char]
- Database.CDB.Packable: instance Unpackable [Word8]
+ Database.CDB.Packable: instance Database.CDB.Packable.Packable (Data.Array.Base.UArray GHC.Word.Word32 GHC.Word.Word32)
+ Database.CDB.Packable: instance Database.CDB.Packable.Packable Data.ByteString.Internal.ByteString
+ Database.CDB.Packable: instance Database.CDB.Packable.Packable GHC.Word.Word32
+ Database.CDB.Packable: instance Database.CDB.Packable.Packable [GHC.Types.Char]
+ Database.CDB.Packable: instance Database.CDB.Packable.Packable [GHC.Word.Word8]
+ Database.CDB.Packable: instance Database.CDB.Packable.Unpackable Data.ByteString.Internal.ByteString
+ Database.CDB.Packable: instance Database.CDB.Packable.Unpackable [GHC.Types.Char]
+ Database.CDB.Packable: instance Database.CDB.Packable.Unpackable [GHC.Word.Word8]
Files
- Database/CDB/Read.hs +2/−2
- Database/CDB/Util.hs +1/−3
- Database/CDB/Write.hs +1/−0
- hs-cdb.cabal +5/−4
Database/CDB/Read.hs view
@@ -14,14 +14,14 @@ import Data.Word import Database.CDB.Packable import Database.CDB.Util-import System.IO.Posix.MMap+import System.IO.MMap -- |Internal representation of a CDB file on disk. data CDB = CDB { cdbMem :: ByteString } -- |Loads a CDB from a file. cdbInit :: FilePath -> IO CDB-cdbInit f = liftM CDB $ unsafeMMapFile f +cdbInit f = liftM CDB $ mmapFileByteString f Nothing -- |Finds the first entry associated with a key in a CDB. cdbGet :: (Packable k, Unpackable v) => CDB -> k -> Maybe v
Database/CDB/Util.hs view
@@ -3,11 +3,9 @@ import qualified Data.ByteString as ByteString import Data.ByteString (ByteString) import Data.Bits-import Data.List import Data.Word -- gets the hash value for a key cdbHash :: ByteString -> Word32 cdbHash =- foldl' (\h c -> ((h `shiftL` 5) + h) `xor` fromIntegral c) 5381 .- ByteString.unpack+ ByteString.foldl' (\h c -> ((h `shiftL` 5) + h) `xor` fromIntegral c) 5381
Database/CDB/Write.hs view
@@ -10,6 +10,7 @@ import Control.Monad.State import Data.Array.IO import Data.Array.Unboxed+import Data.Array.Unsafe (unsafeFreeze) import qualified Data.ByteString as ByteString import Data.ByteString (ByteString) import Data.IORef
hs-cdb.cabal view
@@ -1,5 +1,5 @@ name:hs-cdb-version:0.1.1+version:0.1.2 License:BSD3 License-File:LICENSE Author:Adam Smith@@ -18,18 +18,19 @@ For more information on the CDB file format, please see: <http://cr.yp.to/cdb.html> -cabal-version: >= 1.6+cabal-version: >= 1.10 build-type:Simple Library- Build-Depends:array, base >= 4 && < 5, bytestring, bytestring-mmap, directory,- filepath, mtl+ Build-Depends: array >= 0.4.0, base >= 4 && < 5, bytestring, mmap,+ directory, filepath, mtl Exposed-modules: Database.CDB Database.CDB.Packable Database.CDB.Read Database.CDB.Util Database.CDB.Write+ default-language: Haskell98 source-repository head type: git