Safe Haskell | None |
---|---|
Language | Haskell2010 |
- withCursor :: Transaction e -> Database k v -> (Cursor e k v -> IO a) -> IO a
- withMultiCursor :: Transaction e -> MultiDatabase k v -> (MultiCursor e k v -> IO a) -> IO a
- withAbortableTransaction :: ModeBool e => Environment e -> (Transaction e -> IO (Maybe a)) -> IO (Maybe a)
- withTransaction :: ModeBool e => Environment e -> (Transaction e -> IO a) -> IO a
- withNestedTransaction :: Environment ReadWrite -> Transaction ReadWrite -> (Transaction ReadWrite -> IO a) -> IO a
- openDatabase :: ModeBool e => Transaction e -> Maybe String -> DatabaseSettings k v -> IO (Database k v)
- customSortConfig :: Bool -> Decoding a -> Transaction e -> CustomSort a -> (Bool, DbiByFfi -> IO (), [MDB_DbFlag])
- openMultiDatabase :: ModeBool e => Transaction e -> Maybe String -> MultiDatabaseSettings k v -> IO (MultiDatabase k v)
- withDatabase :: ModeBool e => Environment e -> Transaction e -> Maybe String -> DatabaseSettings k v -> (Database k v -> IO a) -> IO a
- withMultiDatabase :: ModeBool e => Environment e -> Transaction e -> Maybe String -> MultiDatabaseSettings k v -> (MultiDatabase k v -> IO a) -> IO a
- initializeReadOnlyEnvironment :: Int -> Int -> Int -> FilePath -> IO (Environment ReadOnly)
- withReadOnlyEnvironment :: Int -> Int -> Int -> FilePath -> (Environment ReadOnly -> IO a) -> IO a
- initializeReadWriteEnvironment :: Int -> Int -> Int -> FilePath -> IO (Environment ReadWrite)
- initializeEnvironmentInternal :: [MDB_EnvFlag] -> Int -> Int -> Int -> FilePath -> IO (Environment e)
- closeDatabase :: Environment e -> Database k v -> IO ()
- closeMultiDatabase :: Environment e -> MultiDatabase k v -> IO ()
- closeEnvironment :: Environment e -> IO ()
- makeSettings :: Sort s k -> Codec s k -> Codec sv v -> DatabaseSettings k v
- makeMultiSettings :: Sort sk k -> Sort sv v -> Codec sk k -> Codec sv v -> MultiDatabaseSettings k v
- readonly :: Transaction ReadWrite -> Transaction ReadOnly
- readonlyEnvironment :: Environment ReadWrite -> Environment ReadOnly
Documentation
withCursor :: Transaction e -> Database k v -> (Cursor e k v -> IO a) -> IO a Source #
withMultiCursor :: Transaction e -> MultiDatabase k v -> (MultiCursor e k v -> IO a) -> IO a Source #
withAbortableTransaction :: ModeBool e => Environment e -> (Transaction e -> IO (Maybe a)) -> IO (Maybe a) Source #
withTransaction :: ModeBool e => Environment e -> (Transaction e -> IO a) -> IO a Source #
withNestedTransaction :: Environment ReadWrite -> Transaction ReadWrite -> (Transaction ReadWrite -> IO a) -> IO a Source #
:: ModeBool e | |
=> Transaction e | |
-> Maybe String | Database name |
-> DatabaseSettings k v | |
-> IO (Database k v) |
customSortConfig :: Bool -> Decoding a -> Transaction e -> CustomSort a -> (Bool, DbiByFfi -> IO (), [MDB_DbFlag]) Source #
:: ModeBool e | |
=> Transaction e | |
-> Maybe String | Database name |
-> MultiDatabaseSettings k v | |
-> IO (MultiDatabase k v) |
withDatabase :: ModeBool e => Environment e -> Transaction e -> Maybe String -> DatabaseSettings k v -> (Database k v -> IO a) -> IO a Source #
This should not normally be used.
withMultiDatabase :: ModeBool e => Environment e -> Transaction e -> Maybe String -> MultiDatabaseSettings k v -> (MultiDatabase k v -> IO a) -> IO a Source #
This should not normally be used.
initializeReadOnlyEnvironment Source #
:: Int | Map size in bytes |
-> Int | Maximum number of readers (recommended: 126) |
-> Int | Maximum number of databases |
-> FilePath | Directory for lmdb data and locks |
-> IO (Environment ReadOnly) |
Internally, this calls mdb_env_create
and mdb_env_open
.
withReadOnlyEnvironment Source #
:: Int | Map size in bytes |
-> Int | Maximum number of readers (recommended: 126) |
-> Int | Maximum number of databases |
-> FilePath | Directory for lmdb data and locks |
-> (Environment ReadOnly -> IO a) | Computation requiring an |
-> IO a |
initializeReadWriteEnvironment Source #
:: Int | Map size in bytes |
-> Int | Maximum number of readers (recommended: 126) |
-> Int | Maximum number of databases |
-> FilePath | Directory for lmdb data and locks |
-> IO (Environment ReadWrite) |
Internally, this calls mdb_env_create
and mdb_env_open
.
initializeEnvironmentInternal Source #
:: [MDB_EnvFlag] | Flags |
-> Int | Map size in bytes |
-> Int | Maximum number of readers (recommended: 126) |
-> Int | Maximum number of databases |
-> FilePath | Directory for lmdb data and locks |
-> IO (Environment e) |
It is not clear whether or not it is actually neccessary
to use runInBoundThread
here. It is done just as an extra
precaution.
closeDatabase :: Environment e -> Database k v -> IO () Source #
closeMultiDatabase :: Environment e -> MultiDatabase k v -> IO () Source #
closeEnvironment :: Environment e -> IO () Source #
:: Sort s k | Key sorting function |
-> Codec s k | Key codec |
-> Codec sv v | Value codec |
-> DatabaseSettings k v |
:: Sort sk k | Key sorting function |
-> Sort sv v | Value sorting function |
-> Codec sk k | Key codec |
-> Codec sv v | Value codec |
-> MultiDatabaseSettings k v |