This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author foobaron
Recipients foobaron, georg.brandl, loewis, pitrou
Date 2009-08-06.01:08:10
SpamBayes Score 1.966109e-05
Marked as misclassified No
Message-id <1249520892.48.0.119221353983.issue6045@psf.upfronthosting.co.za>
In-reply-to
Content
I suspect that for most users, shelve is the main way they will access
the dbm.* interfaces.  Based on that, the dict methods that are really
needed on dbm.* objects are just: __iter__, __len__, __getitem__,
__setitem__, __delitem__, __contains__, has_key, and keys.  

Note: Issue 5736 aims to make dbm.* support the iterator protocol, which
would be crucial for making shelve iteration scalable (currently,
iterating on a Shelf will call self.dict.keys(), loading the entire
index into memory!).

The dbm.* docs could also explicitly tell users who want a *complete*
dict interface to create a class that inherits from both dbm and
UserDict.DictMixin / MutableMapping.
History
Date User Action Args
2009-08-06 01:08:13foobaronsetrecipients: + foobaron, loewis, georg.brandl, pitrou
2009-08-06 01:08:12foobaronsetmessageid: <1249520892.48.0.119221353983.issue6045@psf.upfronthosting.co.za>
2009-08-06 01:08:10foobaronlinkissue6045 messages
2009-08-06 01:08:10foobaroncreate