[pybsddb] Re: [Python-Dev] Please give this patch for building bsddb a try
Gregory P. Smith
greg@electricrain.com
Wed, 19 Jun 2002 14:25:59 -0700
On Wed, Jun 19, 2002 at 04:15:16PM -0500, Skip Montanaro wrote:
>
> BAW> I still think we may want to pull PyBSDDB into the standard distro,
> BAW> as a way to provide BDB api's > 1.85. The question is, what would
> BAW> this new module be called? I dislike "bsddb3" -- which I think
> BAW> PyBSDDB itself uses -- because it links against BDB 4.0.
>
> Guido> Good idea. Maybe call it berkeleydb? That's what Sleepycat
> Guido> calls it (there's no connection with the BSD Unix distribution
> Guido> AFAICT).
>
> Why can't it just be called bsddb? As far as I could tell tell, it provides
> a bsddb-compatible interface at the module level. The only change at the
> bsddb level is the addition of an extra object (db? I can't recall right
> now and have to get offline soon for the credit card machine so I can't
> pause to check ;-) which gives the programmer access to all the PyBSDDB
> magic.
>
> Skip
Modern berkeleydb uses much different on disk database formats, glancing
at the docs on sleepycat.com i don't even think it can read bsddb (1.85)
files. Existing code using bsddb (1.85) should not automatically start
using a different database library even if we provide a compatibility
interface. That upgrade can be done to code manually using:
import berkeleydb
bsddb = berkeleydb
(and creating a single bsddb module that used the old 1.85 library for the
old interface and the 3.3/4.0 library for the modern interface would add
bloat to many applications that don't need both if it were even possible
to link that in such a way as to avoid the symbol conflicts)
Greg
--
Some mistakes are too much fun to make only once.