summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2018-06-22 15:57:22 +0100
committerGitHub <noreply@github.com>2018-06-22 15:57:22 +0100
commit516f884176db5fc7069f635d7d2feb625652c578 (patch)
tree06165381baa041cc63a4b1e7bc076bf67f3c6cdc
parentMerge pull request #3434 from matrix-org/rav/search_logging (diff)
parentDeleting from event_push_actions needs to use an index (diff)
downloadsynapse-516f884176db5fc7069f635d7d2feb625652c578.tar.xz
Merge pull request #3435 from matrix-org/rav/fix_event_push_actions_tablescan
Fix event_push_actions tablescan when reinserting events
-rw-r--r--synapse/storage/events.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/synapse/storage/events.py b/synapse/storage/events.py
index cb1082e864..7d0e59538a 100644
--- a/synapse/storage/events.py
+++ b/synapse/storage/events.py
@@ -1044,7 +1044,6 @@ class EventsStore(EventsWorkerStore):
                 "event_edge_hashes",
                 "event_edges",
                 "event_forward_extremities",
-                "event_push_actions",
                 "event_reference_hashes",
                 "event_search",
                 "event_signatures",
@@ -1064,6 +1063,14 @@ class EventsStore(EventsWorkerStore):
                 [(ev.event_id,) for ev, _ in events_and_contexts]
             )
 
+        for table in (
+            "event_push_actions",
+        ):
+            txn.executemany(
+                "DELETE FROM %s WHERE room_id = ? AND event_id = ?" % (table,),
+                [(ev.event_id,) for ev, _ in events_and_contexts]
+            )
+
     def _store_event_txn(self, txn, events_and_contexts):
         """Insert new events into the event and event_json tables