[Zodb-checkins] SVN: ZODB/branches/3.4/ _setstate(): An MVCC optimization was inadvertently disabled by

Tim Peters tim.one at comcast.net
Wed Dec 14 16:43:26 EST 2005


Log message for revision 40783:
  _setstate():  An MVCC optimization was inadvertently disabled by
  fixes for ZClasses.  Repaired.
  
  Elsewhere, repaired English in comments.
  

Changed:
  U   ZODB/branches/3.4/NEWS.txt
  U   ZODB/branches/3.4/src/ZODB/Connection.py

-=-
Modified: ZODB/branches/3.4/NEWS.txt
===================================================================
--- ZODB/branches/3.4/NEWS.txt	2005-12-14 20:42:48 UTC (rev 40782)
+++ ZODB/branches/3.4/NEWS.txt	2005-12-14 21:43:26 UTC (rev 40783)
@@ -20,7 +20,13 @@
   tools need to perform minimal logging configuration themselves. Changed
   the zeoup script to do so and thus enable it to emit error messages.
 
+Connection
+----------
 
+- (3.4.3b1) An optimization for loading non-current data (MVCC) was
+  inadvertently disabled in ``_setstate()``; this has been repaired.
+
+
 What's new in ZODB3 3.4.2?
 ==========================
 Release date: 12-Oct-2005

Modified: ZODB/branches/3.4/src/ZODB/Connection.py
===================================================================
--- ZODB/branches/3.4/src/ZODB/Connection.py	2005-12-14 20:42:48 UTC (rev 40782)
+++ ZODB/branches/3.4/src/ZODB/Connection.py	2005-12-14 21:43:26 UTC (rev 40783)
@@ -591,8 +591,8 @@
 
         self._storage.tpc_abort(transaction)
 
-        # Note: If we invalidate a non-justifiable object (i.e. a
-        # persistent class), the object will immediately reread it's
+        # Note: If we invalidate a non-ghostifiable object (i.e. a
+        # persistent class), the object will immediately reread its
         # state.  That means that the following call could result in a
         # call to self.setstate, which, of course, must succeed.  In
         # general, it would be better if the read could be delayed
@@ -731,10 +731,8 @@
         # dict update could go on in another thread, but we don't care
         # because we have to check again after the load anyway.
 
-        if (obj._p_oid in self._invalidated
-            and not myhasattr(obj, "_p_independent")
-            and not self._invalidated
-            ):
+        if (obj._p_oid in self._invalidated and
+                not myhasattr(obj, "_p_independent")):
             # If the object has _p_independent(), we will handle it below.
             self._load_before_or_conflict(obj)
             return



More information about the Zodb-checkins mailing list