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 gregory.p.smith
Recipients
Date 2003-11-03.03:29:55
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Logged In: YES 
user_id=413

A fix for my first comment about the memory leak has been committed that uses weak references and callbacks so that DBCursor objects are always destroyed and their references removed from _DBWithCursor's pool when the iterator that created them is destroyed.

The potential threading deadlock issues still stand.  Lockng seems like it could have a serious performance impact by surrounding way too many database operations (all cursor operations, iterator use and __delitem__, __setitem__ and close) with locks.

what should be done:

_DBWithCursor __delitem__, __setitem__ and close methods need to prevent any cursors from being created until they have completed.  But for performance reasons multiple database read operations should be allowed at the same time (get, cursor methods or iterators).
History
Date User Action Args
2007-08-23 14:18:04adminlinkissue834461 messages
2007-08-23 14:18:04admincreate