Shuffle the code

This commit is contained in:
Erik Johnston 2020-01-08 14:57:45 +00:00
parent bca3455b38
commit d74054afda
1 changed files with 16 additions and 25 deletions

View File

@ -448,35 +448,21 @@ class RoomWorkerStore(SQLBaseStore):
""" """
mxc_re = re.compile("^mxc://([^/]+)/([^/#?]+)") mxc_re = re.compile("^mxc://([^/]+)/([^/#?]+)")
next_token = None sql = """
SELECT stream_ordering, json FROM events
JOIN event_json USING (room_id, event_id)
WHERE room_id = ?
%(where_clause)s
AND contains_url = ? AND outlier = ?
ORDER BY stream_ordering DESC
LIMIT ?
"""
txn.execute(sql % {"where_clause": ""}, (room_id, True, False, 100))
local_media_mxcs = [] local_media_mxcs = []
remote_media_mxcs = [] remote_media_mxcs = []
while True: while True:
# The first time round we just want to get the most recent
# events, then we bound by stream ordering
if next_token is None:
sql = """
SELECT stream_ordering, json FROM events
JOIN event_json USING (room_id, event_id)
WHERE room_id = ?
AND contains_url = ? AND outlier = ?
ORDER BY stream_ordering DESC
LIMIT ?
"""
txn.execute(sql, (room_id, True, False, 100))
else:
sql = """
SELECT stream_ordering, json FROM events
JOIN event_json USING (room_id, event_id)
WHERE room_id = ?
AND stream_ordering < ?
AND contains_url = ? AND outlier = ?
ORDER BY stream_ordering DESC
LIMIT ?
"""
txn.execute(sql, (room_id, next_token, True, False, 100))
next_token = None next_token = None
for stream_ordering, content_json in txn: for stream_ordering, content_json in txn:
next_token = stream_ordering next_token = stream_ordering
@ -501,6 +487,11 @@ class RoomWorkerStore(SQLBaseStore):
# We've gone through the whole room, so we're finished. # We've gone through the whole room, so we're finished.
break break
txn.execute(
sql % {"where_clause": "AND stream_ordering < ?"},
(room_id, next_token, True, False, 100),
)
return local_media_mxcs, remote_media_mxcs return local_media_mxcs, remote_media_mxcs