packages feed

leveldb-haskell 0.6.5 → 0.6.5.1

raw patch · 5 files changed

+31/−17 lines, 5 files

Files

Readme.md view
@@ -15,7 +15,9 @@  **Note:** as of version 1.3, LevelDB can be built as a shared library. Thus, as of version 0.1.0 of this library, LevelDB is no longer bundled and must be-installed on the target system.+installed on the target system. On many systems / distributions, the LevelDB+library is available via the native package manager. On Windows, you may want to+follow [these instructions](https://github.com/lamdu/lamdu/blob/1623bc38e67361d4ba4f051e23a66985a66ca52c/doc/Build.md#windows).  To install the latest version from hackage: 
leveldb-haskell.cabal view
@@ -1,5 +1,5 @@ name:                leveldb-haskell-version:             0.6.5+version:             0.6.5.1 synopsis:            Haskell bindings to LevelDB homepage:            http://github.com/kim/leveldb-haskell bug-reports:         http://github.com/kim/leveldb-haskell/issues@@ -63,6 +63,8 @@    hs-source-dirs:   src +  if os(mingw32)+    extra-libraries: libstdc++-6   extra-libraries:  leveldb  executable leveldb-example-comparator@@ -75,7 +77,7 @@                   , data-default                   , leveldb-haskell -  ghc-options:      -Wall -O -threaded -rtsopts+  ghc-options:      -Wall -threaded -rtsopts    hs-source-dirs:   examples @@ -96,7 +98,7 @@                   , data-default                   , leveldb-haskell -  ghc-options:      -Wall -O -threaded -rtsopts+  ghc-options:      -Wall -threaded -rtsopts    hs-source-dirs:   examples @@ -115,7 +117,7 @@                   , data-default                   , leveldb-haskell -  ghc-options:      -Wall -O -threaded -rtsopts+  ghc-options:      -Wall -threaded -rtsopts    hs-source-dirs:   examples @@ -135,7 +137,7 @@                   , data-default                   , leveldb-haskell -  ghc-options:      -Wall -O -threaded -rtsopts+  ghc-options:      -Wall -threaded -rtsopts    hs-source-dirs:   examples @@ -166,4 +168,4 @@                   , temporary                   , transformers -  ghc-options:      -Wall -O -rtsopts -threaded -with-rtsopts=-N+  ghc-options:      -Wall -rtsopts -threaded -with-rtsopts=-N
src/Database/LevelDB/Base.hs view
@@ -66,7 +66,7 @@ import           Data.ByteString          (ByteString) import           Data.ByteString.Internal (ByteString (..)) import           Data.IORef-import           Foreign                  hiding (void)+import           Foreign                  hiding (free, void) import           Foreign.C.String         (withCString)  import           Database.LevelDB.C@@ -135,7 +135,7 @@         if val_ptr == nullPtr             then return Nothing             else do res <- Just <$> BS.packCString val_ptr-                    free val_ptr+                    c_leveldb_free val_ptr                     return res   where     prop (NumFilesAtLevel i) = "leveldb.num-files-at-level" ++ show i@@ -214,7 +214,7 @@             then return Nothing             else do                 res' <- Just <$> BS.packCStringLen (val_ptr, cSizeToInt vlen)-                free val_ptr+                c_leveldb_free val_ptr                 return res'  -- | Delete a key/value pair.
src/Database/LevelDB/C.hsc view
@@ -14,8 +14,8 @@ module Database.LevelDB.C where  import Foreign-import Foreign.C.Types import Foreign.C.String+import Foreign.C.Types  #include <leveldb/c.h> @@ -56,6 +56,8 @@  }  +-- N.B. unsafe calls are used where there is no chance of blocking.+ foreign import ccall safe "leveldb/c.h leveldb_open"   c_leveldb_open :: OptionsPtr -> DBName -> ErrPtr -> IO LevelDBPtr @@ -137,7 +139,7 @@ foreign import ccall safe "leveldb/c.h leveldb_iter_destroy"   c_leveldb_iter_destroy :: IteratorPtr -> IO () -foreign import ccall safe "leveldb/c.h leveldb_iter_valid"+foreign import ccall unsafe "leveldb/c.h leveldb_iter_valid"   c_leveldb_iter_valid :: IteratorPtr -> IO CUChar  foreign import ccall safe "leveldb/c.h leveldb_iter_seek_to_first"@@ -155,10 +157,10 @@ foreign import ccall safe "leveldb/c.h leveldb_iter_prev"   c_leveldb_iter_prev :: IteratorPtr -> IO () -foreign import ccall safe "leveldb/c.h leveldb_iter_key"+foreign import ccall unsafe "leveldb/c.h leveldb_iter_key"   c_leveldb_iter_key :: IteratorPtr -> Ptr CSize -> IO Key -foreign import ccall safe "leveldb/c.h leveldb_iter_value"+foreign import ccall unsafe "leveldb/c.h leveldb_iter_value"   c_leveldb_iter_value :: IteratorPtr -> Ptr CSize -> IO Val  foreign import ccall safe "leveldb/c.h leveldb_iter_get_error"@@ -352,10 +354,17 @@ foreign import ccall safe "leveldb/c.h leveldb_cache_destroy"   c_leveldb_cache_destroy :: CachePtr -> IO () - ----- Version+-- Utility --++-- Calls free(ptr).+-- REQUIRES: ptr was malloc()-ed and returned by one of the routines+-- in this file.  Note that in certain cases (typically on Windows), you+-- may need to call this routine instead of free(ptr) to dispose of+-- malloc()-ed memory returned by this library. */+foreign import ccall safe "leveldb/c.h leveldb_free"+  c_leveldb_free :: Ptr a -> IO ()  foreign import ccall unsafe "leveldb/c.h leveldb_major_version"   c_leveldb_major_version :: IO CInt
test/Test/Streaming.hs view
@@ -7,6 +7,7 @@ module Test.Streaming (tests) where  import           Control.Applicative        hiding (empty)+import           Control.Monad              (liftM2, foldM) import           Control.Monad.Catch import           Control.Monad.Identity import           Control.Monad.IO.Class@@ -14,7 +15,7 @@ import           Data.ByteString.Char8      (ByteString, singleton, unpack) import           Data.Default import           Data.Foldable              (foldMap)-import           Data.List+import           Data.List                  hiding (singleton) import           Data.Monoid import           Database.LevelDB.Base import           Database.LevelDB.Internal  (unsafeClose)