[Zodb-checkins] CVS: ZODB3/ZODB - Connection.py:1.109

Jeremy Hylton jeremy at zope.com
Fri Jan 2 17:56:44 EST 2004


Update of /cvs-repository/ZODB3/ZODB
In directory cvs.zope.org:/tmp/cvs-serv28296/ZODB

Modified Files:
	Connection.py 
Log Message:
Assert that any non-current object has a pending invalidation.


=== ZODB3/ZODB/Connection.py 1.108 => 1.109 ===
--- ZODB3/ZODB/Connection.py:1.108	Fri Jan  2 14:57:12 2004
+++ ZODB3/ZODB/Connection.py	Fri Jan  2 17:56:43 2004
@@ -404,8 +404,11 @@
     def _flush_invalidations(self):
         self._inv_lock.acquire()
         try:
+            for oid in self._noncurrent:
+                assert oid in self._invalidated
             self._cache.invalidate(self._invalidated)
             self._invalidated.clear()
+            self._noncurrent.clear()
             self._txn_time = None
         finally:
             self._inv_lock.release()
@@ -525,7 +528,8 @@
         assert start < self._txn_time, (u64(start), u64(self._txn_time))
         assert end is None or self._txn_time <= end, \
                (u64(self._txn_time), u64(end))
-        self._noncurrent[obj._p_oid] = True
+        if end is not None:
+            self._noncurrent[obj._p_oid] = True
         self._reader.setGhostState(obj, data)
         obj._p_serial = start
 




More information about the Zodb-checkins mailing list