-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Pure Haskell key/value store implementation -- -- A simple bytestring key/value store implemented in terms of hash table -- over a file. It cannot yet grow/shrink the hash table as needed, nor -- does it free old unused (key,value) pair storage. Mostly useful for -- applications that need not worry about the size of their persistent -- store. Reduces dependency hell. @package keyvaluehash @version 0.3.1.1 module Database.KeyValueHash type Key = ByteString type Value = ByteString data Size mkSize :: Word64 -> Size sizeLinear :: Size -> Word64 data HashFunction stdHash :: HashFunction mkHashFunc :: String -> (Key -> Word64) -> HashFunction data Database createDatabase :: FilePath -> HashFunction -> Size -> IO Database openDatabase :: FilePath -> HashFunction -> Size -> IO Database closeDatabase :: Database -> IO () withCreateDatabase :: FilePath -> HashFunction -> Size -> (Database -> IO a) -> IO a withOpenDatabase :: FilePath -> HashFunction -> Size -> (Database -> IO a) -> IO a readKey :: Database -> Key -> IO (Maybe Value) writeKey :: Database -> Key -> Value -> IO () deleteKey :: Database -> Key -> IO () msync :: Database -> IO () instance Typeable FileAlreadyExists instance Show FileAlreadyExists instance Exception FileAlreadyExists instance Binary ValueHeader instance Binary FileRange instance Show FileRange instance Show Size