[Zodb-checkins] CVS: Zope3/lib/python/Persistence - Cache.py:1.1.2.2
Jim Fulton
jim@zope.com
Sun, 25 Nov 2001 19:20:09 -0500
Update of /cvs-repository/Zope3/lib/python/Persistence
In directory cvs.zope.org:/tmp/cvs-serv14527
Modified Files:
Tag: Zope-3x-branch
Cache.py
Log Message:
Factored multiple and single cache invalidation
=== Zope3/lib/python/Persistence/Cache.py 1.1.2.1 => 1.1.2.2 ===
self.__iter=None
- def invalidate(self, oids):
- if oids is None: oids=iter(self.__active)
+ def invalidate(self, oid):
+ ob=self.__aget(oid, self)
+ if ob is self: return
+ ob=ob()
+ del ob._p_changed
+ del self.__active[oid]
+ ghosts=self.__ghosts
+ ghosts[oid] = ref(ob, _dictdel(oid, ghosts))
+
+ def invalidateMany(self, oids):
+ if oids is None:
+ oids=self.__active.keys()
aget=self.__aget
active=self.__active
ghosts=self.__ghosts