Library
Module
Module type
Parameter
Class
Class type
Converters to and from the internal representation of keys and values. A converter contains serialising and deserialising functions as well as the flags applied when the converter is used in a map.
type bigstring =
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t
Bigstrings are used to transfer the raw serialised data into and out of the database. They may point directly to a memory-mapped region of the database file.
module Flags : sig ... end
Flags describing the (sorting) properties of keys and values of a map.
val make :
?flags:Flags.t ->
serialise:((int -> bigstring) -> 'a -> bigstring) ->
deserialise:(bigstring -> 'a) ->
unit ->
'a t
make ~serialise ~deserialise
creates a converter from a serialising and a deserialising function
The bigstring
converter returns bigstrings as returned by the lmdb backend. These bigstrings point into the environment memory-map and are therefore only guaranteed to be valid until the transaction ends. If you need longer-lived values then use the string
converter, make a copy or write a custom converter.
val string : string t
The string
converter simply copies the raw database content from / to OCaml strings.
The integer converters will make use of Flags.t
as appropriate so that integers are sorted in ascending order irrespective of machine endianness.
For convenience, the _as_int
converters convert the internal integer representation to and from int
.
val int32_be_as_int : int t
val int64_be_as_int : int t
val int32_le_as_int : int t
val int64_le_as_int : int t