Indirect invalidations of _get_event_cache via a helper method to keep all uses of the cache lexically within one .py file

This commit is contained in:
Paul "LeoNerd" Evans 2015-03-25 16:59:27 +00:00
parent 9ba6487b3f
commit 033a517feb
2 changed files with 5 additions and 2 deletions

View file

@ -732,6 +732,9 @@ class SQLBaseStore(object):
return [e for e in events if e]
def _invalidate_get_event_cache(self, event_id):
self._get_event_cache.pop(event_id)
def _get_event_txn(self, txn, event_id, check_redacted=True,
get_prev_content=False, allow_rejected=False):

View file

@ -94,7 +94,7 @@ class EventsStore(SQLBaseStore):
current_state=None):
# Remove the any existing cache entries for the event_id
self._get_event_cache.pop(event.event_id)
self._invalidate_get_event_cache(event.event_id)
# We purposefully do this first since if we include a `current_state`
# key, we *want* to update the `current_state_events` table
@ -356,7 +356,7 @@ class EventsStore(SQLBaseStore):
def _store_redaction(self, txn, event):
# invalidate the cache for the redacted event
self._get_event_cache.pop(event.redacts)
self._invalidate_get_event_cache(event.redacts)
txn.execute(
"INSERT INTO redactions (event_id, redacts) VALUES (?,?)",
(event.event_id, event.redacts)