Next plateau: Convert a BDB -> LMDB database.

Two simple scripts to assist with the conversion.

[bdbexport.sh.gz](https://github.com/rpm-software-management/rpm/files/1180126/bdbexport.sh.gz)

[lmdbimport.sh.gz](https://github.com/rpm-software-management/rpm/files/1180129/lmdbimport.sh.gz)

Note that you will need mdb_dump/mdb_load/mdb_stat executables, which seem not 
to be included in the CentOS7/Fedorable lmdb packages for whatever reason.

The only subtlety -- and the same issue exists with RPM+BDB, but unseen because 
hash rather than btree is used -- in the conversion is byte swabbing the 
primary keys in Packages.

And finally, here is the patch to RPM and the lib/backend/lmdb.c file:

[rpm+lmdb.patch.gz](https://github.com/rpm-software-management/rpm/files/1180172/rpm.lmdb.patch.gz)

[lmdb.c.gz](https://github.com/rpm-software-management/rpm/files/1180173/lmdb.c.gz)

The LMDB implementation has been deliberately left heavily insturmented with 
debugging in order to diagnose issues. There's more that could be done to 
simplify the code: I have deliberately chosen a rather simplistic/redundant 
style while studying what return codes need to be handled.

Assuming there is any interest in RPM+LMDB: judging from the time scale of NDB 
adoption, I am expecting a merge in 2019, and perhaps a discussion of adoption 
in Fedora in 2020, and perhaps a deployment in Fedora 40.

We shall see ...

... but I'm done with the RPM+LMDB issue for now. Have fun!



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/281#issuecomment-318373087
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to