diff rhodecode/model/db.py @ 3685:02e1e270bf93 beta

invalidation: set_invalidate is (obviously) only used to invalidate the whole repo
author Mads Kiilerich <madski@unity3d.com>
date Wed, 03 Apr 2013 15:56:12 +0200
parents e8aff2016d86
children f18801f827da
line wrap: on
line diff
--- a/rhodecode/model/db.py	Thu Apr 04 15:55:53 2013 +0200
+++ b/rhodecode/model/db.py	Wed Apr 03 15:56:12 2013 +0200
@@ -1697,27 +1697,18 @@
             return inv_obj
 
     @classmethod
-    def set_invalidate(cls, key=None, repo_name=None):
+    def set_invalidate(cls, repo_name):
         """
-        Mark this Cache key for invalidation, either by key or whole
-        cache sets based on repo_name
-
-        :param key:
+        Mark all caches of a repo as invalid in the database.
         """
         invalidated_keys = []
-        if key:
-            assert not repo_name
-            cache_key = cls._get_cache_key(key)
-            inv_objs = Session().query(cls).filter(cls.cache_key == cache_key).all()
-        else:
-            assert repo_name
-            inv_objs = Session().query(cls).filter(cls.cache_args == repo_name).all()
+        inv_objs = Session().query(cls).filter(cls.cache_args == repo_name).all()
 
         try:
             for inv_obj in inv_objs:
+                log.debug('marking %s key for invalidation based on repo_name=%s'
+                          % (inv_obj, safe_str(repo_name)))
                 inv_obj.cache_active = False
-                log.debug('marking %s key for invalidation based on key=%s,repo_name=%s'
-                  % (inv_obj, key, safe_str(repo_name)))
                 invalidated_keys.append(inv_obj.cache_key)
                 Session().add(inv_obj)
             Session().commit()