diff roundup/backends/back_anydbm.py @ 4652:dfbc0cfa9811

Add an interface to register clearCache callbacks in roundupdb. Sometimes complicated computations may require an application cache. This application can now register a callback to clear the application cache, because roundup knows better when to clear it (usually when a transaction ends, either with rollback or with commit). The interface for this is currently considered experimental. The current interface is registerClearCacheCallback(self, method, param) where method is called with param as the only parameter.
author Ralf Schlatterbeck <rsc@runtux.com>
date Fri, 17 Aug 2012 15:30:36 +0200
parents fd972e18b21a
children 0a05c4d9a221
line wrap: on
line diff
--- a/roundup/backends/back_anydbm.py	Sat Jul 14 02:39:23 2012 +0200
+++ b/roundup/backends/back_anydbm.py	Fri Aug 17 15:30:36 2012 +0200
@@ -733,6 +733,8 @@
         self.newnodes = {}
         self.destroyednodes = {}
         self.transactions = []
+        # upcall is necessary!
+        roundupdb.Database.clearCache(self)
 
     def getCachedClassDB(self, classname):
         """ get the class db, looking in our cache of databases for commit

Roundup Issue Tracker: http://roundup-tracker.org/