| Copyright | (c) 2026 Jared Tobin |
|---|---|
| License | MIT |
| Maintainer | Jared Tobin <jared@ppad.tech> |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Database.LMDB.Internal
Description
Raw FFI declarations and constants for the LMDB C API. This module is exposed for power users; prefer Database.LMDB for the safe, bracketed interface.
Synopsis
- data MDB_env
- data MDB_txn
- type MDB_dbi = CUInt
- data MDB_cursor
- data MDB_val = MDB_val {}
- _MDB_NOSUBDIR :: CUInt
- _MDB_NOSYNC :: CUInt
- _MDB_RDONLY :: CUInt
- _MDB_NOMETASYNC :: CUInt
- _MDB_NOTLS :: CUInt
- _MDB_CREATE :: CUInt
- _MDB_NOOVERWRITE :: CUInt
- _MDB_APPEND :: CUInt
- _MDB_FIRST :: CInt
- _MDB_LAST :: CInt
- _MDB_NEXT :: CInt
- _MDB_PREV :: CInt
- _MDB_SET :: CInt
- _MDB_SET_RANGE :: CInt
- _MDB_GET_CURRENT :: CInt
- _MDB_SUCCESS :: CInt
- _MDB_KEYEXIST :: CInt
- _MDB_NOTFOUND :: CInt
- _MDB_MAP_FULL :: CInt
- _MDB_CORRUPTED :: CInt
- _MDB_PANIC :: CInt
- _MDB_VERSION_MISMATCH :: CInt
- _MDB_INVALID :: CInt
- _MDB_BAD_TXN :: CInt
- _MDB_BAD_VALSIZE :: CInt
- _MDB_BAD_DBI :: CInt
- mdb_env_create :: Ptr (Ptr MDB_env) -> IO CInt
- mdb_env_open :: Ptr MDB_env -> CString -> CUInt -> CMode -> IO CInt
- mdb_env_close :: Ptr MDB_env -> IO ()
- mdb_env_set_mapsize :: Ptr MDB_env -> CSize -> IO CInt
- mdb_env_set_maxdbs :: Ptr MDB_env -> MDB_dbi -> IO CInt
- mdb_env_sync :: Ptr MDB_env -> CInt -> IO CInt
- mdb_txn_begin :: Ptr MDB_env -> Ptr MDB_txn -> CUInt -> Ptr (Ptr MDB_txn) -> IO CInt
- mdb_txn_commit :: Ptr MDB_txn -> IO CInt
- mdb_txn_abort :: Ptr MDB_txn -> IO ()
- mdb_dbi_open :: Ptr MDB_txn -> CString -> CUInt -> Ptr MDB_dbi -> IO CInt
- mdb_dbi_close :: Ptr MDB_env -> MDB_dbi -> IO ()
- mdb_get :: Ptr MDB_txn -> MDB_dbi -> Ptr MDB_val -> Ptr MDB_val -> IO CInt
- mdb_put :: Ptr MDB_txn -> MDB_dbi -> Ptr MDB_val -> Ptr MDB_val -> CUInt -> IO CInt
- mdb_del :: Ptr MDB_txn -> MDB_dbi -> Ptr MDB_val -> Ptr MDB_val -> IO CInt
- mdb_cursor_open :: Ptr MDB_txn -> MDB_dbi -> Ptr (Ptr MDB_cursor) -> IO CInt
- mdb_cursor_close :: Ptr MDB_cursor -> IO ()
- mdb_cursor_get :: Ptr MDB_cursor -> Ptr MDB_val -> Ptr MDB_val -> CInt -> IO CInt
- mdb_strerror :: CInt -> IO CString
Opaque handles
LMDB's database identifier is a plain unsigned int value type,
not a pointer.
data MDB_cursor Source #
Value pair
The key-or-value pair LMDB passes across the FFI boundary.
Instances
Environment flags
_MDB_NOSYNC :: CUInt Source #
_MDB_RDONLY :: CUInt Source #
_MDB_NOTLS :: CUInt Source #
Database open flags
_MDB_CREATE :: CUInt Source #
Put flags
_MDB_APPEND :: CUInt Source #
Cursor operations
_MDB_FIRST :: CInt Source #
Error codes
_MDB_SUCCESS :: CInt Source #
_MDB_KEYEXIST :: CInt Source #
_MDB_NOTFOUND :: CInt Source #
_MDB_MAP_FULL :: CInt Source #
_MDB_PANIC :: CInt Source #
_MDB_INVALID :: CInt Source #
_MDB_BAD_TXN :: CInt Source #
_MDB_BAD_DBI :: CInt Source #
Environment lifecycle
Transactions
Databases
Key-value operations
Cursors
mdb_cursor_close :: Ptr MDB_cursor -> IO () Source #