Skip to content
Snippets Groups Projects
Unverified Commit 14b2ebe7 authored by Brendan Abolivier's avatar Brendan Abolivier Committed by GitHub
Browse files

Merge pull request #7055 from matrix-org/babolivier/get_time_of_last_push_action_before

Move get_time_of_last_push_action_before to the EventPushActionsWorkerStore
parents 06eb5cae f9e3a3f4
No related branches found
No related tags found
No related merge requests found
Merge worker apps together.
...@@ -555,10 +555,12 @@ class Mailer(object): ...@@ -555,10 +555,12 @@ class Mailer(object):
else: else:
# If the reason room doesn't have a name, say who the messages # If the reason room doesn't have a name, say who the messages
# are from explicitly to avoid, "messages in the Bob room" # are from explicitly to avoid, "messages in the Bob room"
room_id = reason["room_id"]
sender_ids = list( sender_ids = list(
{ {
notif_events[n["event_id"]].sender notif_events[n["event_id"]].sender
for n in notifs_by_room[reason["room_id"]] for n in notifs_by_room[room_id]
} }
) )
......
...@@ -608,6 +608,23 @@ class EventPushActionsWorkerStore(SQLBaseStore): ...@@ -608,6 +608,23 @@ class EventPushActionsWorkerStore(SQLBaseStore):
return range_end return range_end
@defer.inlineCallbacks
def get_time_of_last_push_action_before(self, stream_ordering):
def f(txn):
sql = (
"SELECT e.received_ts"
" FROM event_push_actions AS ep"
" JOIN events e ON ep.room_id = e.room_id AND ep.event_id = e.event_id"
" WHERE ep.stream_ordering > ?"
" ORDER BY ep.stream_ordering ASC"
" LIMIT 1"
)
txn.execute(sql, (stream_ordering,))
return txn.fetchone()
result = yield self.db.runInteraction("get_time_of_last_push_action_before", f)
return result[0] if result else None
class EventPushActionsStore(EventPushActionsWorkerStore): class EventPushActionsStore(EventPushActionsWorkerStore):
EPA_HIGHLIGHT_INDEX = "epa_highlight_index" EPA_HIGHLIGHT_INDEX = "epa_highlight_index"
...@@ -735,23 +752,6 @@ class EventPushActionsStore(EventPushActionsWorkerStore): ...@@ -735,23 +752,6 @@ class EventPushActionsStore(EventPushActionsWorkerStore):
pa["actions"] = _deserialize_action(pa["actions"], pa["highlight"]) pa["actions"] = _deserialize_action(pa["actions"], pa["highlight"])
return push_actions return push_actions
@defer.inlineCallbacks
def get_time_of_last_push_action_before(self, stream_ordering):
def f(txn):
sql = (
"SELECT e.received_ts"
" FROM event_push_actions AS ep"
" JOIN events e ON ep.room_id = e.room_id AND ep.event_id = e.event_id"
" WHERE ep.stream_ordering > ?"
" ORDER BY ep.stream_ordering ASC"
" LIMIT 1"
)
txn.execute(sql, (stream_ordering,))
return txn.fetchone()
result = yield self.db.runInteraction("get_time_of_last_push_action_before", f)
return result[0] if result else None
@defer.inlineCallbacks @defer.inlineCallbacks
def get_latest_push_action_stream_ordering(self): def get_latest_push_action_stream_ordering(self):
def f(txn): def f(txn):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment