1 files changed, 14 insertions, 0 deletions
diff --git a/synapse/storage/events.py b/synapse/storage/events.py
index 5a2e6a03d5..c81bc75eae 100644
--- a/synapse/storage/events.py
+++ b/synapse/storage/events.py
@@ -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(
|