[Python-Dev] python/dist/src/Lib/bsddb __init__.py,1.5,1.6
Raymond Hettinger
python at rcn.com
Fri Sep 12 19:50:40 EDT 2003
[Raymond]
> > > > I would like to backport this patch to Py2.3.1.
> > > > The effort to provide a full mapping interface to all
> > > > mapping like objects was attempted in Py2.3 and several
> > > > modules for the bsddb package were updated, but this
> > > > one was missed and the package was left half converted.
> > > >
> > > > IIRC, dbhash and bsddb don't affect the Apple MacIntosh
> > > > users. Also, since this effort was started for bsddb and
> > > > only half completed, I view it to be a bit of a bugfix as
> > > > well as being featurelike. It certainly affects the usability
> > > > of the module (the looping example and related text in
> > > > the docs were both wrong -- that would not have happened
> > > > if the normal looping expectations were supported).
[GvR]
> > > Can you discuss this on python-dev?
[Raymond]
> > Guys, are you okay with backporting this?
[Jeremy]
> Isn't this just the sort of little feature that was the subject of
> recent discussion on the dangers of backporting. It would mean that
> someone writing an app against Python 2.3 could never be sure whether
> the feature existed. In practice, that would mean developers using
> 2.3.x would only find out about problems after deployment when they bump
> into a user with the original 2.3.
>
> I'm not sure how convincing I find this argument, but it's got some
> merit.
It has some. That's why GvR had me bring it to python-dev
so you guys could help decide on the proper balance.
But for that one thought, the decision to apply is clear cut.
Thoughts in favor of applying:
* the existing interface is a pain and is misdocumented in Py2.3.0
* the patch was already half complete for 2.3.0 (applied
to dbobj and dbshelve) __init__.py was just missed).
* the patch was already applied to dumbdbm and shelve for Py2.3.0
* if needed, it's not hard to write code that automatically
adjusts for Py2.3.0:
if not f.__class__.__bases__:
f.__class__.__bases = (UserDict.DictMixin,)
* waiting another 18 months to put this in just results in that
many more installed Pythons out there without the patch
Raymond
More information about the Python-Dev
mailing list