[Spambayes] The database question that would not die

richie@entrian.com richie@entrian.com
Mon Dec 2 13:47:29 2002


[Skip]
> I think there are some misunderstandings still out there about the various
> incarnations of the bsddb module and the underlying Berkeley DB code.
> [...]
> So, here's a summary of what works with what:
> 
>     The historic bsddb module (bsddb185 in CVS now) works with any version
>     of the Berkeley DB library as long as the 1.85 C API is enabled.  If you
>     use it with version 1.85 of the library you may experience data
>     corruption problems because of bugs in the code and file structure (not
>     the 1.85 API).  You can use it safely with later versions of the library
>     as the 1.85 API was enabled during configuration.
> 
>     The current bsddb module (Pybsddb, bsddb3, bsddb in CVS) works with
>     versions 3.x and 4.0.x of the Berkeley DB library.

Thanks for the clarification.  To rephrase my question in these terms:

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?

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.

-- 
Richie Hindle
richie@entrian.com





More information about the Spambayes mailing list