Merge the ZODB part of Zope/branches/jim-fix-zclasses.
This doesn't have a lot of visible effect on standalone ZODB use, but is important for Zope 2.8. Here are checkin msgs from the branch relating to ZODB code: r29872 | jim | 2005-04-04 07:04:39 -0400 (Mon, 04 Apr 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/ZODB/serialize.py For instances of persistent classes, save a class-module/clas-name tuple if the class has a non-empty module string. ------------------------------------------------------------------------ r29871 | jim | 2005-04-04 07:04:33 -0400 (Mon, 04 Apr 2005) | 6 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/ZODB/Connection.py Changed sub-transaction abort code to not invalidate created objects. There's really no point, because created objects will be unreachable after invalidating old objects. Also, if a created object is non-ghostifiable, it will try to load it's state again, and then either it would fail or it would load non-committed state. ------------------------------------------------------------------------ r29870 | jim | 2005-04-04 07:04:27 -0400 (Mon, 04 Apr 2005) | 3 lines Changed paths: A /Zope/branches/jim-fix-zclasses/lib/python/ZODB/persistentclass.py A /Zope/branches/jim-fix-zclasses/lib/python/ZODB/persistentclass.txt A /Zope/branches/jim-fix-zclasses/lib/python/ZODB/tests/testpersistentclass.py Added ZClass-independent test of (and possible base class for) persistent-class support machinery. ------------------------------------------------------------------------ r29867 | jim | 2005-04-04 07:03:48 -0400 (Mon, 04 Apr 2005) | 2 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/transaction/_manager.py Added missing arguments to commit and abort. ------------------------------------------------------------------------ r29774 | jim | 2005-04-01 06:24:27 -0500 (Fri, 01 Apr 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/transaction/__init__.py Changed to use methods of a threaded manager directly, rather than through wrapper functions. ------------------------------------------------------------------------ r29773 | jim | 2005-04-01 06:24:25 -0500 (Fri, 01 Apr 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/transaction/_manager.py Added commit and abort methods to transaction managers. This makes direcr use of managers simpler. ------------------------------------------------------------------------ r29101 | jim | 2005-02-10 07:44:52 -0500 (Thu, 10 Feb 2005) | 2 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/ZODB/Connection.py Removed an unused attribute. ------------------------------------------------------------------------ r29100 | jim | 2005-02-10 07:42:35 -0500 (Thu, 10 Feb 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/transaction/_transaction.py Changed an XXX comment to an ordinary comment, explaining the relevent issue. ------------------------------------------------------------------------ r29099 | jim | 2005-02-10 07:41:58 -0500 (Thu, 10 Feb 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/ZODB/Connection.py Changed some XXX comments to ordinary comments explaining the relevent issues. ------------------------------------------------------------------------ r29071 | jim | 2005-02-07 07:36:05 -0500 (Mon, 07 Feb 2005) | 3 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/transaction/_transaction.py Added a sanity check to avoid registration of objects without a manager. (Perhaps this should be an assert.) ------------------------------------------------------------------------ r29067 | jim | 2005-02-07 07:35:56 -0500 (Mon, 07 Feb 2005) | 15 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/ZODB/Connection.py Changed the strategy for handling invalidation of classes. No-longer use setklassstate. Instead, just call _p_invalidate, as with any other object. This changes didn't break any tests, so I assume that this was untested. :( Changed the strategy for invalidating objects. Non-ghostifiable objects will load their state when they are invalidated. We have to worry about other invalidations that come in while this is happening. See the comment in _flush_invalidations. We need to force all invalidations to take this into account, by going through _flush_invalidations. I haven't done this yet, but I have left some XXX comments in places where it needs to be done to remind myself that this needs to be done. ------------------------------------------------------------------------ r29066 | jim | 2005-02-07 07:35:54 -0500 (Mon, 07 Feb 2005) | 8 lines Changed paths: M /Zope/branches/jim-fix-zclasses/lib/python/persistent/cPickleCache.c Changed the strategy for handling invalidation of classes. No-longer use setklassstate. Instead, just call _p_invalidate, as with any other object. This changes didn't break any tests, so I assume that this was untested. :( Change invalidation to not swallow errors. (Swallowing errors here was a travesty!)
Showing
src/ZODB/persistentclass.py
0 → 100644
src/ZODB/persistentclass.txt
0 → 100644
Please register or sign in to comment