feat: improved query performance when looking for deletion events (improves event insert time)

This commit is contained in:
Greg Heartsfield 2023-02-12 15:43:22 -06:00
parent f44dae6ac9
commit 185f9e7abb

View File

@ -223,7 +223,7 @@ impl SqliteRepo {
// check if a deletion has already been recorded for this event. // check if a deletion has already been recorded for this event.
// Only relevant for non-deletion events // Only relevant for non-deletion events
let del_count = tx.query_row( let del_count = tx.query_row(
"SELECT e.id FROM event e LEFT JOIN tag t ON e.id=t.event_id WHERE e.author=? AND t.name='e' AND e.kind=5 AND t.value=? LIMIT 1;", "SELECT e.id FROM event e WHERE e.author=? AND e.id IN (SELECT t.event_id FROM tag t WHERE t.name='e' AND t.kind=5 AND t.value=?) LIMIT 1;",
params![pubkey_blob, e.id], |row| row.get::<usize, usize>(0)); params![pubkey_blob, e.id], |row| row.get::<usize, usize>(0));
// check if a the query returned a result, meaning we should // check if a the query returned a result, meaning we should
// hid the current event // hid the current event