Merge pull request #3613 from matrix-org/rav/stop_using_event_edges_room_id

Remove some redundant joins on event_edges.room_id
This commit is contained in:
Richard van der Hoff 2018-07-26 22:31:01 +01:00 committed by GitHub
commit 9e68b1bd2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 8 deletions

1
changelog.d/3613.misc Normal file
View File

@ -0,0 +1 @@
Remove some redundant joins on event_edges.room_id

View File

@ -114,9 +114,9 @@ class EventFederationWorkerStore(EventsWorkerStore, SignatureWorkerStore,
sql = ( sql = (
"SELECT b.event_id, MAX(e.depth) FROM events as e" "SELECT b.event_id, MAX(e.depth) FROM events as e"
" INNER JOIN event_edges as g" " INNER JOIN event_edges as g"
" ON g.event_id = e.event_id AND g.room_id = e.room_id" " ON g.event_id = e.event_id"
" INNER JOIN event_backward_extremities as b" " INNER JOIN event_backward_extremities as b"
" ON g.prev_event_id = b.event_id AND g.room_id = b.room_id" " ON g.prev_event_id = b.event_id"
" WHERE b.room_id = ? AND g.is_state is ?" " WHERE b.room_id = ? AND g.is_state is ?"
" GROUP BY b.event_id" " GROUP BY b.event_id"
) )
@ -330,8 +330,7 @@ class EventFederationWorkerStore(EventsWorkerStore, SignatureWorkerStore,
"SELECT depth, prev_event_id FROM event_edges" "SELECT depth, prev_event_id FROM event_edges"
" INNER JOIN events" " INNER JOIN events"
" ON prev_event_id = events.event_id" " ON prev_event_id = events.event_id"
" AND event_edges.room_id = events.room_id" " WHERE event_edges.event_id = ?"
" WHERE event_edges.room_id = ? AND event_edges.event_id = ?"
" AND event_edges.is_state = ?" " AND event_edges.is_state = ?"
" LIMIT ?" " LIMIT ?"
) )
@ -365,7 +364,7 @@ class EventFederationWorkerStore(EventsWorkerStore, SignatureWorkerStore,
txn.execute( txn.execute(
query, query,
(room_id, event_id, False, limit - len(event_results)) (event_id, False, limit - len(event_results))
) )
for row in txn: for row in txn:
@ -402,7 +401,7 @@ class EventFederationWorkerStore(EventsWorkerStore, SignatureWorkerStore,
query = ( query = (
"SELECT prev_event_id FROM event_edges " "SELECT prev_event_id FROM event_edges "
"WHERE room_id = ? AND event_id = ? AND is_state = ? " "WHERE event_id = ? AND is_state = ? "
"LIMIT ?" "LIMIT ?"
) )
@ -411,7 +410,7 @@ class EventFederationWorkerStore(EventsWorkerStore, SignatureWorkerStore,
for event_id in front: for event_id in front:
txn.execute( txn.execute(
query, query,
(room_id, event_id, False, limit - len(event_results)) (event_id, False, limit - len(event_results))
) )
for e_id, in txn: for e_id, in txn:

View File

@ -520,7 +520,6 @@ class EventsStore(EventsWorkerStore):
iterable=list(new_latest_event_ids), iterable=list(new_latest_event_ids),
retcols=["prev_event_id"], retcols=["prev_event_id"],
keyvalues={ keyvalues={
"room_id": room_id,
"is_state": False, "is_state": False,
}, },
desc="_calculate_new_extremeties", desc="_calculate_new_extremeties",