[Python-Dev] Including BSDDB3 (original) (raw)

Guido van Rossum guido@python.org
Mon, 07 Jan 2002 20:54:09 -0500


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 db185.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?

Sounds like a good plan, but we should make sure it can all be re-released under the PSF license. For the Zope Corp. portions of the code I promise that's no problem :-) -- but there are so many other contributors that it's getting a little tangled...

--Guido van Rossum (home page: http://www.python.org/~guido/)