purge_history: fix index use

event_push_actions doesn't have an index on event_id, so we need to specify
room_id.
pull/2867/head
Richard van der Hoff 2018-02-14 15:44:51 +00:00
parent 5fcbf1e07c
commit 278d21b5e4
1 changed files with 14 additions and 0 deletions

View File

@ -2314,6 +2314,20 @@ class EventsStore(SQLBaseStore):
")" % (table,),
)
# event_push_actions lacks an index on event_id, and has one on
# (room_id, event_id) instead.
for table in (
"event_push_actions",
):
logger.info("[purge] removing events from %s", table)
txn.execute(
"DELETE FROM %s WHERE room_id = ? AND event_id IN ("
" SELECT event_id FROM events_to_purge WHERE should_delete"
")" % (table,),
(room_id, )
)
# Mark all state and own events as outliers
logger.info("[purge] marking remaining events as outliers")
txn.execute(