Just a quick note while I'm reading the code and deeply enough in it:
It seems that _added_during_commit is not needed anymore. At the time
it was introduced,
http://cvs.zope.org/ZODB3/ZODB/Attic/Connection.py.diff?
r1=1.114.2.5&r2=1.114.2.6
the add() method didn't also _register its objects, but put them in
_added.
Nowadays all added objects end up in _registered_objects, so the
simple for loop in _commit should be enough to also catch those added
during commit.
The test checkModifyOnGetstate (and all other tests) still passes if
I comment out the relevant code in add().
Florent
PS: I'll take the time in a few weeks to review the messages I posted
here and checkin changes for those who have received approval. But I
don't have the bandwidth right now.
--
Florent Guillaume, Nuxeo (Paris, France) Director of R&D
+33 1 40 33 71 59 http://nuxeo.com [EMAIL PROTECTED]
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/
ZODB-Dev mailing list - ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev