Improve mark-older-as-unseen performance

This commit is contained in:
Joscha 2022-08-08 17:32:25 +02:00
parent 0490ce394d
commit 9e99c0706a

View file

@ -1222,15 +1222,13 @@ impl EuphRequest {
id: Snowflake, id: Snowflake,
seen: bool, seen: bool,
) -> rusqlite::Result<()> { ) -> rusqlite::Result<()> {
// TODO Speed up this update
// Maybe with an index on (room, id, seen) and a filter to only set seen
// where it isn't already set correctly?
conn.execute( conn.execute(
" "
UPDATE euph_msgs UPDATE euph_msgs
SET seen = :seen SET seen = :seen
WHERE room = :room WHERE room = :room
AND id <= :id AND id <= :id
AND seen != :seen
", ",
named_params! { ":room": room, ":id": id, ":seen": seen }, named_params! { ":room": room, ":id": id, ":seen": seen },
)?; )?;