Survey: bsddb is definitely broken. Should it be fixed, or deprecated?

Garth T Kidd garth at deadlybloodyserious.com
Thu May 9 21:21:36 EDT 2002


Alex Martelli's discussion about shelve being broken (or, at least,
surprising) reminded me shelve is occasionally quite broken because
the underlying technology is broken.

Specifically, shelve uses anydbm by default, which on many systems
uses bsddb by default, and bsddb is quite broken, and has been since
Python 1.5 and maybe earlier:

http://sourceforge.net/tracker/?group_id=5470&atid=105470&func=detail&aid=408271

The easiest solution is to deprecate bsddb and take it out of the list
of contenders for anydbm. I've put up a patch for both:

http://sourceforge.net/tracker/?func=detail&aid=553108&group_id=5470&atid=305470

Existing databases will still be fine, because whichdb.whichdb will
figure it out and load bsddb. New databases, however, will avoid
bsddb.

Frankly, I'd rather people use dumbdbm (slow) than bsddb (unreliable),
but I'd like to hear what everyone else thinks.

Regards,
Garth.

http://www.deadlybloodyserious.com/Python/



More information about the Python-list mailing list