From d5214eb192f296a860eebd465ea9dda1e57723bd Mon Sep 17 00:00:00 2001 From: link2xt Date: Sun, 2 Jul 2023 16:04:44 +0000 Subject: [PATCH] refactor: check if the contact is blocked with a dedicated SQL query Avoid loading unnecessary fields from the database. --- src/contact.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/contact.rs b/src/contact.rs index 78269f003..05f2ca458 100644 --- a/src/contact.rs +++ b/src/contact.rs @@ -407,7 +407,13 @@ impl Contact { /// Check if a contact is blocked. pub async fn is_blocked_load(context: &Context, id: ContactId) -> Result { - let blocked = Self::load_from_db(context, id).await?.blocked; + let blocked = context + .sql + .query_row("SELECT blocked FROM contacts WHERE id=?", (id,), |row| { + let blocked: bool = row.get(0)?; + Ok(blocked) + }) + .await?; Ok(blocked) }