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