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

Tim Peters tim.one at comcast.net
Wed Dec 14 16:47:02 EST 2005


Log message for revision 40784:
  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.5/NEWS.txt
  U   ZODB/branches/3.5/src/ZODB/Connection.py

-=-
Modified: ZODB/branches/3.5/NEWS.txt
===================================================================
--- ZODB/branches/3.5/NEWS.txt	2005-12-14 21:43:26 UTC (rev 40783)
+++ ZODB/branches/3.5/NEWS.txt	2005-12-14 21:47:00 UTC (rev 40784)
@@ -45,7 +45,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.5.2b1) An optimization for loading non-current data (MVCC) was
+  inadvertently disabled in ``_setstate()``; this has been repaired.
+
+
 What's new in ZODB3 3.5.1?
 ==========================
 Release date: 26-Sep-2005

Modified: ZODB/branches/3.5/src/ZODB/Connection.py
===================================================================
--- ZODB/branches/3.5/src/ZODB/Connection.py	2005-12-14 21:43:26 UTC (rev 40783)
+++ ZODB/branches/3.5/src/ZODB/Connection.py	2005-12-14 21:47:00 UTC (rev 40784)
@@ -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