Allow room initialSync for users that have left the room, returning a snapshot of how the room was when they left it

This commit is contained in:
Mark Haines 2015-09-09 13:25:22 +01:00
parent dd42bb78d0
commit 89ae0166de
3 changed files with 140 additions and 9 deletions

View file

@ -379,6 +379,21 @@ class StreamStore(SQLBaseStore):
)
defer.returnValue("t%d-%d" % (topo, token))
def get_stream_token_for_event(self, event_id):
"""The stream token for an event
Args:
event_id(str): The id of the event to look up a stream token for.
Raises:
StoreError if the event wasn't in the database.
Returns:
A deferred "s%d" stream token.
"""
return self._simple_select_one_onecol(
table="events",
keyvalues={"event_id": event_id},
retcol="stream_ordering",
).addCallback(lambda stream_ordering: "s%d" % (stream_ordering,))
def _get_max_topological_txn(self, txn):
txn.execute(
"SELECT MAX(topological_ordering) FROM events"