Simplify delete_forward_extremities_for_room_txn SQL

As per feedback.

Signed-off-by: Jason Robinson <jasonr@matrix.org>
pull/9062/head
Jason Robinson 2021-01-11 23:49:58 +02:00
parent da16d06301
commit 49c619a9a2
1 changed files with 4 additions and 10 deletions

View File

@ -35,17 +35,11 @@ class EventForwardExtremitiesStore(SQLBaseStore):
def delete_forward_extremities_for_room_txn(txn):
# First we need to get the event_id to not delete
sql = """
SELECT
last_value(event_id) OVER w AS event_id
FROM event_forward_extremities
NATURAL JOIN events
SELECT event_id FROM event_forward_extremities
INNER JOIN events USING (room_id, event_id)
WHERE room_id = ?
WINDOW w AS (
PARTITION BY room_id
ORDER BY stream_ordering
range between unbounded preceding and unbounded following
)
ORDER BY stream_ordering
ORDER BY stream_ordering DESC
LIMIT 1
"""
txn.execute(sql, (room_id,))
rows = txn.fetchall()