From 1d0d7470f56375ca48c8302d2b3e893419651fe6 Mon Sep 17 00:00:00 2001 From: lemonsh Date: Sun, 24 Jul 2022 12:27:49 +0200 Subject: [PATCH] glob & lowercase author search --- src/database.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/database.rs b/src/database.rs index 2abdb71..09695d8 100644 --- a/src/database.rs +++ b/src/database.rs @@ -56,7 +56,8 @@ impl DbExecutor { let before = Instant::now(); tracing::debug!("got task {:?}", task); match task { - Task::AddQuote(tx, quote) => { + Task::AddQuote(tx, mut quote) => { + quote.author.make_ascii_lowercase(); let result = self .db .execute( @@ -67,8 +68,9 @@ impl DbExecutor { tx.send(result).unwrap(); } Task::GetQuote(tx, author) => { - let result = if let Some(ref author) = author { - self.db.query_row("select quote,username from quotes where username=? order by random() limit 1", params![author], |v| Ok(Quote {quote:v.get(0)?, author:v.get(1)?})) + let result = if let Some(mut author) = author { + author.make_ascii_lowercase(); + self.db.query_row("select quote,username from quotes where username glob ? order by random() limit 1", params![author], |v| Ok(Quote {quote:v.get(0)?, author:v.get(1)?})) } else { self.db.query_row("select quote,username from quotes order by random() limit 1", params![], |v| Ok(Quote {quote:v.get(0)?, author:v.get(1)?})) }.optional();