Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Storage.LedgerDB.V1.BackingStore.Impl.LMDB.Bridge
Description
Alternatives to LMDB operations that do not rely on
instancesSerialise
We cannot (easily and without runtime overhead) satisfy the
constraints that the Serialise
lmdb-simple
operations require. We have access to the
codification and decodification functions provided in
, thus, we
redefine parts of the internal CodecMK
LMDB.Simple
operations here. The
redefinitions are largely analogous to their counterparts, though they thread
through explicit CBOR encoders and decoders.
Synopsis
- fromCodecMK ∷ (IndexedMemPack idx v, MemPack k) ⇒ idx → PeekPoke k v
- runCursorAsTransaction' ∷ ∀ k idx v (mode ∷ Mode) a. (MemPack k, IndexedMemPack idx v) ⇒ idx → CursorM k v mode a → Database k v → Transaction mode a
- delete ∷ MemPack k ⇒ Database k v → k → Transaction 'ReadWrite Bool
- deleteBS ∷ Database k v → ByteString → Transaction 'ReadWrite Bool
- get ∷ ∀ k v (mode ∷ Mode). (MemPack k, MemPack v) ⇒ Database k v → k → Transaction mode (Maybe v)
- getBS ∷ ∀ v k (mode ∷ Mode). MemPack v ⇒ Database k v → ByteString → Transaction mode (Maybe v)
- getBS' ∷ ∀ k v (mode ∷ Mode). Database k v → ByteString → Transaction mode (Maybe MDB_val)
- indexedGet ∷ ∀ idx v k (mode ∷ Mode). (IndexedMemPack idx v, MemPack k) ⇒ idx → Database k v → k → Transaction mode (Maybe v)
- indexedPut ∷ (IndexedMemPack idx v, MemPack k) ⇒ idx → Database k v → k → v → Transaction 'ReadWrite ()
- put ∷ (MemPack v, MemPack k) ⇒ Database k v → k → v → Transaction 'ReadWrite ()
- putBS ∷ MemPack v ⇒ Database k v → ByteString → v → Transaction 'ReadWrite ()
Cursor
fromCodecMK ∷ (IndexedMemPack idx v, MemPack k) ⇒ idx → PeekPoke k v Source #
runCursorAsTransaction' ∷ ∀ k idx v (mode ∷ Mode) a. (MemPack k, IndexedMemPack idx v) ⇒ idx → CursorM k v mode a → Database k v → Transaction mode a Source #
Wrapper around
that requires a
runCursorAsTransaction'
instead of a CodecMK
.PeekPoke
Internal: get and put
deleteBS ∷ Database k v → ByteString → Transaction 'ReadWrite Bool Source #
get ∷ ∀ k v (mode ∷ Mode). (MemPack k, MemPack v) ⇒ Database k v → k → Transaction mode (Maybe v) Source #
getBS ∷ ∀ v k (mode ∷ Mode). MemPack v ⇒ Database k v → ByteString → Transaction mode (Maybe v) Source #
getBS' ∷ ∀ k v (mode ∷ Mode). Database k v → ByteString → Transaction mode (Maybe MDB_val) Source #
indexedGet ∷ ∀ idx v k (mode ∷ Mode). (IndexedMemPack idx v, MemPack k) ⇒ idx → Database k v → k → Transaction mode (Maybe v) Source #
indexedPut ∷ (IndexedMemPack idx v, MemPack k) ⇒ idx → Database k v → k → v → Transaction 'ReadWrite () Source #
putBS ∷ MemPack v ⇒ Database k v → ByteString → v → Transaction 'ReadWrite () Source #