[Python-Dev] Distutils confuses Berkeley DB and dbm?
Barry A. Warsaw
barry@zope.com
Fri, 31 May 2002 16:48:14 -0400
>>>>> "SM" == Skip Montanaro <skip@pobox.com> writes:
Skip> Why the proliferation?
Martin> Because any specific version of the Sleepycat code can
Martin> only access a few database file format versions. Older
Martin> databases cannot be accessed with newer library
Martin> implementations. Hence, you need to link explicitly with
Martin> older libraries to access older databases.
SM> I think it's a bad idea to tie into an external vendor's
SM> release idiosyncracies that way. Sleepycat does provide
SM> utilities with each release which allows users to migrate from
SM> older file formats to newer ones. I would rather see some
SM> embellishment of the bsddb module that allows programmers to
SM> query file format types and possibly convert file formats by
SM> calling out to the Sleepycat-provided utilities.
There's really two issues, the file format and the API version. It
probably makes sense to keep `bsddb' as the 1.85 API. Maybe it's
enough for pybsddb (aka bsddb3) to be the 3.x API and not expose a 2.x
API. But then, what about the BDB 4.x API?
I agree that we probably don't need to support mutiple older file
formats, since there are tools to upgrade, as long as we fail
gracefully when handed a format we don't understand. By that I mean,
get an exception, not a crash.
-Barry