lmdb-high-level-0.1: Higher level API for working with LMDB

Safe HaskellNone
LanguageHaskell2010

Lmdb.Map

Contents

Synopsis

Cursor Operations

Movements

Key and Value

move :: Cursor e k v -> Movement k -> IO (Maybe (KeyValue k v)) Source #

first :: Cursor e k v -> IO (Maybe (KeyValue k v)) Source #

last :: Cursor e k v -> IO (Maybe (KeyValue k v)) Source #

next :: Cursor e k v -> IO (Maybe (KeyValue k v)) Source #

prev :: Cursor e k v -> IO (Maybe (KeyValue k v)) Source #

lookup :: Cursor e k v -> k -> IO (Maybe (KeyValue k v)) Source #

Uses MDB_SET_KEY

lookupGte :: Cursor e k v -> k -> IO (Maybe (KeyValue k v)) Source #

Uses MDB_SET_RANGE

current :: Cursor e k v -> IO (KeyValue k v) Source #

Only Key

nextKey :: Cursor e k v -> IO (Maybe k) Source #

lookupGteKey :: Cursor e k v -> k -> IO (Maybe k) Source #

Uses MDB_SET_RANGE

currentKey :: Cursor e k v -> IO k Source #

Only Value

nextValue :: Cursor e k v -> IO (Maybe v) Source #

currentValue :: Cursor e k v -> IO v Source #

No Data

first_ :: Cursor e k v -> IO Bool Source #

next_ :: Cursor e k v -> IO Bool Source #

Streaming

forward :: Cursor e k v -> Producer' (KeyValue k v) IO () Source #

backward :: Cursor e k v -> Producer' (KeyValue k v) IO () Source #

lookupForward :: Cursor e k v -> k -> Producer' (KeyValue k v) IO () Source #

lookupGteForward :: Cursor e k v -> k -> Producer' (KeyValue k v) IO () Source #

serverRequired :: forall e k v. Cursor e k v -> Movement k -> Server' (Movement k) (KeyValue k v) IO () Source #

Writing

insert :: Cursor ReadWrite k v -> k -> v -> IO () Source #

repsert :: Cursor ReadWrite k v -> k -> v -> IO () Source #

Cursorless Operations

Reading

Writing

insert' :: Transaction ReadWrite -> Database k v -> k -> v -> IO () Source #

Insert a value at the given key, throwing an exception if a value already exists at this key.

insertSuccess' :: Transaction ReadWrite -> Database k v -> k -> v -> IO Bool Source #

Insert a value at the given key, returning True if the operation succeeds and False if a value already exists at this key.

repsert' :: Transaction ReadWrite -> Database k v -> k -> v -> IO () Source #

Insert a value at the given key, replacing a previously existing value.