Library
Module
Module type
Parameter
Class
Class type
val create : Dokeysto.Db.filename -> t
create fn
create in read-write mode the persistent hashtbl whose data are stored in file fn
and whose index is stored in fn ^ ".idx"
.
val open_existing : Dokeysto.Db.filename -> t
open_existing fn
open in read-write mode the persistent hashtbl whose data are stored in file fn
and whose index is stored in fn ^ ".idx"
.
val dummy : unit -> t
dummy ()
create a value of type t
. Do not do anything with this value.
val close : t -> unit
close db
close the previously opened db
.
val sync : t -> unit
sync db
sync to disk the data and metadata (index) of db
.
val destroy : t -> unit
destroy db
rm data and metadata files of db
and clear db
's index hashtbl.
val mem : t -> string -> bool
mem db k
check if k
is bound in db
.
val add : t -> string -> string -> unit
add db k v
add the key-value binding (k,v)
to db
.
val replace : t -> string -> string -> unit
replace db k v
replace the current binding for k
in db
by a binding from k
to v
. Cf. Hashtbl.replace for details.
val remove : t -> string -> unit
remove tbl k
remove the current binding for k
in db
. Cf. Hashtbl.replace for details.
val find : t -> string -> string
find db k
get the current binding of k
in db
or raise Not_found
.
val raw_read : t -> Dokeysto.Db.position -> string
raw_read db pos
read from the data file of db
the string at position pos
. WARNING: regular users should not need to call this function.
val iter : (string -> string -> unit) -> t -> unit
iter f db
apply f
to all key-value pairs in db
. Cf. Hashtbl.iter for details.
val fold : (string -> string -> 'acc -> 'acc) -> t -> 'acc -> 'acc
fold f db init
fold f
over all key-value pairs in db
. Cf. Hashtbl.fold for details.