[Python-Dev] Including BSDDB3

Martin v. Loewis martin@v.loewis.de
Tue, 8 Jan 2002 01:16:28 +0100


What do people think about including bsddb3 in Python 2.3, along with
deprecating the existing bsddb module? You'll find the package at

http://pybsddb.sourceforge.net/

It would come as a bsddb3 package, which acts interface-compatible
with the current bsddb module. Various submodules give access to more
advanced features.

The main rationale for dropping bsddb is that it still relies on the
db_185.h interface, which will be phased out sooner or
later. Existance of this interface, in turn, results in problems with
anydbm:

There are multiple versions of the database files available in the
world, and any BSDDB installation can only handle so many of these
versions. Now, on Linux, it is common that bsddb3 is installed, but
that glibc offers bsddb2 simultaneously. For anydbm to analyse this
situation properly, it would need some of the more advanced bsddb
facilities.

While this is the rationale for dropping the existing bsddb module
sooner or later, there are, of course, numerous advantages in exposing
the additional BSDDB features, like concurrency, transactions, and
cursors.

Any opinions?

Regards,
Martin