[Zodb-checkins] SVN: ZODB/branches/3.6/ Merge rev 40783 from 3.4 branch.

Tim Peters tim.one at comcast.net
Wed Dec 14 16:49:52 EST 2005


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

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

-=-
Modified: ZODB/branches/3.6/NEWS.txt
===================================================================
--- ZODB/branches/3.6/NEWS.txt	2005-12-14 21:47:00 UTC (rev 40784)
+++ ZODB/branches/3.6/NEWS.txt	2005-12-14 21:49:51 UTC (rev 40785)
@@ -154,6 +154,12 @@
   a acl_users path together with a username (separated by a space) and this
   previous fix failed to take this into account.
 
+Connection
+----------
+
+- (3.6b5) An optimization for loading non-current data (MVCC) was
+  inadvertently disabled in ``_setstate()``; this has been repaired.
+
 Documentation
 -------------
 

Modified: ZODB/branches/3.6/src/ZODB/Connection.py
===================================================================
--- ZODB/branches/3.6/src/ZODB/Connection.py	2005-12-14 21:47:00 UTC (rev 40784)
+++ ZODB/branches/3.6/src/ZODB/Connection.py	2005-12-14 21:49:51 UTC (rev 40785)
@@ -619,8 +619,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
@@ -759,10 +759,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