Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 04b1f7e

Browse files
committed
Store insertion events in table
1 parent 164dee4 commit 04b1f7e

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

synapse/storage/databases/main/events.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1504,6 +1504,7 @@ def _update_metadata_tables_txn(
15041504

15051505
self._handle_event_relations(txn, event)
15061506

1507+
self._handle_insertion_event(txn, event)
15071508
self._handle_marker_event(txn, event)
15081509

15091510
# Store the labels for this event.
@@ -1758,6 +1759,31 @@ def _handle_event_relations(self, txn, event):
17581759
if rel_type == RelationTypes.REPLACE:
17591760
txn.call_after(self.store.get_applicable_edit.invalidate, (parent_id,))
17601761

1762+
def _handle_insertion_event(self, txn, event):
1763+
"""Handles inserting insertion extremeties during peristence of marker events
1764+
1765+
Args:
1766+
txn
1767+
event (EventBase)
1768+
"""
1769+
1770+
if event.type != EventTypes.MSC2716_INSERTION:
1771+
# Not a insertion event
1772+
return
1773+
1774+
logger.info("_handle_insertion_event %s", event)
1775+
1776+
for prev_event_id in event.prev_event_ids:
1777+
self.db_pool.simple_insert_txn(
1778+
txn,
1779+
table="insertion_event_extremeties",
1780+
values={
1781+
"insertion_event_id": event.event_id,
1782+
"room_id": event.room_id,
1783+
"insertion_prev_event_id": prev_event_id,
1784+
},
1785+
)
1786+
17611787
def _handle_marker_event(self, txn, event):
17621788
"""Handles inserting insertion extremeties during peristence of marker events
17631789
@@ -1770,6 +1796,8 @@ def _handle_marker_event(self, txn, event):
17701796
# Not a marker event
17711797
return
17721798

1799+
logger.info("_handle_marker_event %s", event)
1800+
17731801
insertion_event_id = event.content.get(
17741802
EventContentFields.MSC2716_MARKER_INSERTION
17751803
)

0 commit comments

Comments
 (0)