Change get_pos_of_last_change to return upper bound

This commit is contained in:
Erik Johnston 2016-09-15 15:12:07 +01:00
parent cb3edec6af
commit 955f34d23e
2 changed files with 6 additions and 6 deletions

View File

@ -347,9 +347,8 @@ class EventFederationStore(SQLBaseStore):
def get_forward_extremeties_for_room(self, room_id, stream_ordering):
# We want to make the cache more effective, so we clamp to the last
# change before the given ordering.
last_change = self._events_stream_cache.get_pos_of_last_change(room_id)
if last_change:
stream_ordering = min(last_change, stream_ordering)
last_change = self._events_stream_cache.get_max_pos_of_last_change(room_id)
stream_ordering = min(last_change, stream_ordering)
return self._get_forward_extremeties_for_room(room_id, stream_ordering)

View File

@ -122,7 +122,8 @@ class StreamChangeCache(object):
self._earliest_known_stream_pos = max(k, self._earliest_known_stream_pos)
self._entity_to_key.pop(r, None)
def get_pos_of_last_change(self, entity):
"""Returns the stream pos of the last change for an entitiy, if known.
def get_max_pos_of_last_change(self, entity):
"""Returns an upper bound of the stream id of the last change to an
entity.
"""
return self._entity_to_key.get(entity, None)
return self._entity_to_key.get(entity, self._earliest_known_stream_pos)