[Spambayes] The database question that would not die

Moore, Paul Paul.Moore@atosorigin.com
Mon Dec 2 14:14:46 2002


See dead horse, flog. Repeat as required :-) Sorry.

From: richie@entrian.com [mailto:richie@entrian.com]
> Are there any platforms on which, when you ask anydbm to create a =
database,
> it uses version 1.85 of the underlying Berkeley DB library to do that? =
 And
> if there are such platforms, is upgrading the underlying Berkeley DB =
library,
> either directly or by installing pybsddb (aka bsddb3), a pain for a =
typical
> user of that platform?

1. Yes, Windows, with Python 2.2.
2. Yes. Not because installing pybsddb/bsddb3 is difficult, but because
   pybsddb/bsddb3 doesn't upgrade the library that anydbm uses, but instead
   installs a second, parallel, copy, which is accessible under a different
   name (bsddb3).

> I strongly believe that if no such platform exists, we should drop =
pickle
> support in favour of using anydbm, and add a check that if the =
underlying
> database library chosen by anydbm is the Berkeley DB library, it is =
version
> 2 or better.  On Windows, people can meet this requirement by =
installing
> pybsddb or Python 2.3.

We have to code explicitly to use bsddb3 if that is present. If it is not, we
can fall back on anydbm (and complain loudly at Windows users). I do not
believe that bsddb (neither the standard library one, nor bsddb3) offers any way
to check the version of the underlying Sleepycat code.

Paul.



More information about the Spambayes mailing list