Ensure all push actions are deleted from staging
This commit is contained in:
parent
ad0ccf15ea
commit
24087bffa9
2 changed files with 19 additions and 2 deletions
|
@ -88,13 +88,21 @@ class EventPushActionsStore(SQLBaseStore):
|
||||||
self._rotate_notifs, 30 * 60 * 1000
|
self._rotate_notifs, 30 * 60 * 1000
|
||||||
)
|
)
|
||||||
|
|
||||||
def _set_push_actions_for_event_and_users_txn(self, txn, events_and_contexts):
|
def _set_push_actions_for_event_and_users_txn(self, txn, events_and_contexts,
|
||||||
|
all_events_and_contexts):
|
||||||
"""Handles moving push actions from staging table to main
|
"""Handles moving push actions from staging table to main
|
||||||
event_push_actions table for all events in `events_and_contexts`.
|
event_push_actions table for all events in `events_and_contexts`.
|
||||||
|
|
||||||
|
Also ensures that all events in `all_events_and_contexts` are removed
|
||||||
|
from the push action staging area.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
events_and_contexts (list[(EventBase, EventContext)]): events
|
events_and_contexts (list[(EventBase, EventContext)]): events
|
||||||
we are persisting
|
we are persisting
|
||||||
|
all_events_and_contexts (list[(EventBase, EventContext)]): all
|
||||||
|
events that we were going to persist. This includes events
|
||||||
|
we've already persisted, etc, that wouldn't appear in
|
||||||
|
events_and_context.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
sql = """
|
sql = """
|
||||||
|
|
|
@ -693,6 +693,8 @@ class EventsStore(SQLBaseStore):
|
||||||
list of the event ids which are the forward extremities.
|
list of the event ids which are the forward extremities.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
all_events_and_contexts = events_and_contexts
|
||||||
|
|
||||||
max_stream_order = events_and_contexts[-1][0].internal_metadata.stream_ordering
|
max_stream_order = events_and_contexts[-1][0].internal_metadata.stream_ordering
|
||||||
|
|
||||||
self._update_current_state_txn(txn, state_delta_for_room, max_stream_order)
|
self._update_current_state_txn(txn, state_delta_for_room, max_stream_order)
|
||||||
|
@ -755,6 +757,7 @@ class EventsStore(SQLBaseStore):
|
||||||
self._update_metadata_tables_txn(
|
self._update_metadata_tables_txn(
|
||||||
txn,
|
txn,
|
||||||
events_and_contexts=events_and_contexts,
|
events_and_contexts=events_and_contexts,
|
||||||
|
all_events_and_contexts=all_events_and_contexts,
|
||||||
backfilled=backfilled,
|
backfilled=backfilled,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1152,13 +1155,18 @@ class EventsStore(SQLBaseStore):
|
||||||
ec for ec in events_and_contexts if ec[0] not in to_remove
|
ec for ec in events_and_contexts if ec[0] not in to_remove
|
||||||
]
|
]
|
||||||
|
|
||||||
def _update_metadata_tables_txn(self, txn, events_and_contexts, backfilled):
|
def _update_metadata_tables_txn(self, txn, events_and_contexts,
|
||||||
|
all_events_and_contexts, backfilled):
|
||||||
"""Update all the miscellaneous tables for new events
|
"""Update all the miscellaneous tables for new events
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
txn (twisted.enterprise.adbapi.Connection): db connection
|
txn (twisted.enterprise.adbapi.Connection): db connection
|
||||||
events_and_contexts (list[(EventBase, EventContext)]): events
|
events_and_contexts (list[(EventBase, EventContext)]): events
|
||||||
we are persisting
|
we are persisting
|
||||||
|
all_events_and_contexts (list[(EventBase, EventContext)]): all
|
||||||
|
events that we were going to persist. This includes events
|
||||||
|
we've already persisted, etc, that wouldn't appear in
|
||||||
|
events_and_context.
|
||||||
backfilled (bool): True if the events were backfilled
|
backfilled (bool): True if the events were backfilled
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -1166,6 +1174,7 @@ class EventsStore(SQLBaseStore):
|
||||||
self._set_push_actions_for_event_and_users_txn(
|
self._set_push_actions_for_event_and_users_txn(
|
||||||
txn,
|
txn,
|
||||||
events_and_contexts=events_and_contexts,
|
events_and_contexts=events_and_contexts,
|
||||||
|
all_events_and_contexts=all_events_and_contexts,
|
||||||
)
|
)
|
||||||
|
|
||||||
if not events_and_contexts:
|
if not events_and_contexts:
|
||||||
|
|
Loading…
Reference in a new issue