File tree Expand file tree Collapse file tree 3 files changed +7
-2
lines changed Expand file tree Collapse file tree 3 files changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -72,8 +72,7 @@ module Make (Data : Binable.S) = struct
7272
7373 Error_checking_mutex. critical_section queue_guard ~f: (fun () ->
7474 if Queue. length reusable_keys > = reuse_size_limit then (
75- Queue. iter reusable_keys ~f: (fun to_remove ->
76- Rw. remove ~env db to_remove ) ;
75+ Rw. batch_remove ~env db reusable_keys ;
7776 Queue. clear reusable_keys ) ) ;
7877 Rw. set ~env db idx x ;
7978 res
Original file line number Diff line number Diff line change @@ -237,4 +237,8 @@ module Read_write (F_func : F) = struct
237237
238238 let remove ~env :t db key =
239239 with_env t ~perm: Rw ~default: () ~f: (fun env -> remove_impl ~env db key)
240+
241+ let batch_remove ~env :t db keys =
242+ with_env t ~perm: Rw ~default: () ~f: (fun env ->
243+ Queue. iter keys ~f: (remove_impl ~env db) )
240244end
Original file line number Diff line number Diff line change @@ -56,6 +56,8 @@ module Read_write : functor (F_func : F) -> sig
5656
5757 val remove : env :t -> ('k , 'v ) Db .t -> 'k -> unit
5858
59+ val batch_remove : env :t -> ('k , 'v ) Db .t -> 'k Core_kernel.Queue .t -> unit
60+
5961 val with_txn :
6062 ?perm : [ `Read | `Write ] Lmdb .perm
6163 -> f :(Db .getter -> Db .setter -> 'r )
You can’t perform that action at this time.
0 commit comments