diff --git a/src/LMDB.jl b/src/LMDB.jl index b5bc871..1b5eca7 100644 --- a/src/LMDB.jl +++ b/src/LMDB.jl @@ -7,7 +7,7 @@ module LMDB isopen, count, delete!, info, get, show, convert import Base.Iterators: drop - depsfile = joinpath(dirname(@__FILE__),"..","deps","deps.jl") + depsfile = joinpath(dirname(@__FILE__), "..", "deps", "deps.jl") if isfile(depsfile) include(depsfile) else diff --git a/src/dbi.jl b/src/dbi.jl index abdb1bd..7b91ba9 100644 --- a/src/dbi.jl +++ b/src/dbi.jl @@ -80,9 +80,9 @@ function put!(txn::Transaction, dbi::DBI, key, val; flags::Cuint = zero(Cuint)) end "Delete items from a database" -function delete!(txn::Transaction, dbi::DBI, key, val) +function delete!(txn::Transaction, dbi::DBI, key, val=C_NULL) mdb_key_ref = Ref(MDBValue(key)) - mdb_val_ref = Ref(MDBValue(val)) + mdb_val_ref = (val === C_NULL) ? C_NULL : Ref(MDBValue(val)) ret = ccall((:mdb_del, liblmdb), Cint, (Ptr{Void}, Cuint, Ptr{MDBValue}, Ptr{MDBValue}), diff --git a/test/dbi.jl b/test/dbi.jl index 5eab213..abb9b80 100644 --- a/test/dbi.jl +++ b/test/dbi.jl @@ -40,6 +40,7 @@ module LMDB_DBI value = get(txn, dbi, k, String) println("Got value for key $(k): $(value)") @test value == val*string(k) + delete!(txn, dbi, k) k += 1 value = get(txn, dbi, k, String) println("Got value for key $(k): $(value)") @@ -60,4 +61,4 @@ module LMDB_DBI finally rm(dbname, recursive=true) end -end \ No newline at end of file +end