mirror of
https://github.com/chatmail/core.git
synced 2026-05-15 12:56:30 +03:00
Don't let repeat_vars() return unnecessary Result
This commit is contained in:
@@ -3049,7 +3049,7 @@ pub async fn forward_msgs(context: &Context, msg_ids: &[MsgId], chat_id: ChatId)
|
|||||||
.query_map(
|
.query_map(
|
||||||
format!(
|
format!(
|
||||||
"SELECT id FROM msgs WHERE id IN({}) ORDER BY timestamp,id",
|
"SELECT id FROM msgs WHERE id IN({}) ORDER BY timestamp,id",
|
||||||
sql::repeat_vars(msg_ids.len())?
|
sql::repeat_vars(msg_ids.len())
|
||||||
),
|
),
|
||||||
rusqlite::params_from_iter(msg_ids),
|
rusqlite::params_from_iter(msg_ids),
|
||||||
|row| row.get::<_, MsgId>(0),
|
|row| row.get::<_, MsgId>(0),
|
||||||
|
|||||||
@@ -706,7 +706,7 @@ impl Contact {
|
|||||||
AND (iif(c.name='',c.authname,c.name) LIKE ? OR c.addr LIKE ?) \
|
AND (iif(c.name='',c.authname,c.name) LIKE ? OR c.addr LIKE ?) \
|
||||||
AND (1=? OR LENGTH(ps.verified_key_fingerprint)!=0) \
|
AND (1=? OR LENGTH(ps.verified_key_fingerprint)!=0) \
|
||||||
ORDER BY LOWER(iif(c.name='',c.authname,c.name)||c.addr),c.id;",
|
ORDER BY LOWER(iif(c.name='',c.authname,c.name)||c.addr),c.id;",
|
||||||
sql::repeat_vars(self_addrs.len())?
|
sql::repeat_vars(self_addrs.len())
|
||||||
),
|
),
|
||||||
rusqlite::params_from_iter(params_iter(&self_addrs).chain(params_iterv![
|
rusqlite::params_from_iter(params_iter(&self_addrs).chain(params_iterv![
|
||||||
ContactId::LAST_SPECIAL,
|
ContactId::LAST_SPECIAL,
|
||||||
@@ -755,7 +755,7 @@ impl Contact {
|
|||||||
AND origin>=?
|
AND origin>=?
|
||||||
AND blocked=0
|
AND blocked=0
|
||||||
ORDER BY LOWER(iif(name='',authname,name)||addr),id;",
|
ORDER BY LOWER(iif(name='',authname,name)||addr),id;",
|
||||||
sql::repeat_vars(self_addrs.len())?
|
sql::repeat_vars(self_addrs.len())
|
||||||
),
|
),
|
||||||
rusqlite::params_from_iter(params_iter(&self_addrs).chain(params_iterv![
|
rusqlite::params_from_iter(params_iter(&self_addrs).chain(params_iterv![
|
||||||
ContactId::LAST_SPECIAL,
|
ContactId::LAST_SPECIAL,
|
||||||
|
|||||||
@@ -1967,7 +1967,7 @@ async fn create_adhoc_grp_id(context: &Context, member_ids: &[ContactId]) -> Res
|
|||||||
let member_cs = context.get_primary_self_addr().await?.to_lowercase();
|
let member_cs = context.get_primary_self_addr().await?.to_lowercase();
|
||||||
let query = format!(
|
let query = format!(
|
||||||
"SELECT addr FROM contacts WHERE id IN({}) AND id!=?",
|
"SELECT addr FROM contacts WHERE id IN({}) AND id!=?",
|
||||||
sql::repeat_vars(member_ids.len())?
|
sql::repeat_vars(member_ids.len())
|
||||||
);
|
);
|
||||||
let mut params = Vec::new();
|
let mut params = Vec::new();
|
||||||
params.extend_from_slice(member_ids);
|
params.extend_from_slice(member_ids);
|
||||||
@@ -2065,7 +2065,7 @@ async fn check_verified_properties(
|
|||||||
format!(
|
format!(
|
||||||
"SELECT c.addr, LENGTH(ps.verified_key_fingerprint) FROM contacts c \
|
"SELECT c.addr, LENGTH(ps.verified_key_fingerprint) FROM contacts c \
|
||||||
LEFT JOIN acpeerstates ps ON c.addr=ps.addr WHERE c.id IN({}) ",
|
LEFT JOIN acpeerstates ps ON c.addr=ps.addr WHERE c.id IN({}) ",
|
||||||
sql::repeat_vars(to_ids.len())?
|
sql::repeat_vars(to_ids.len())
|
||||||
),
|
),
|
||||||
rusqlite::params_from_iter(to_ids),
|
rusqlite::params_from_iter(to_ids),
|
||||||
|row| {
|
|row| {
|
||||||
|
|||||||
@@ -315,7 +315,7 @@ pub(crate) async fn start_ephemeral_timers_msgids(
|
|||||||
"UPDATE msgs SET ephemeral_timestamp = ? + ephemeral_timer
|
"UPDATE msgs SET ephemeral_timestamp = ? + ephemeral_timer
|
||||||
WHERE (ephemeral_timestamp == 0 OR ephemeral_timestamp > ? + ephemeral_timer) AND ephemeral_timer > 0
|
WHERE (ephemeral_timestamp == 0 OR ephemeral_timestamp > ? + ephemeral_timer) AND ephemeral_timer > 0
|
||||||
AND id IN ({})",
|
AND id IN ({})",
|
||||||
sql::repeat_vars(msg_ids.len())?
|
sql::repeat_vars(msg_ids.len())
|
||||||
),
|
),
|
||||||
rusqlite::params_from_iter(
|
rusqlite::params_from_iter(
|
||||||
std::iter::once(&now as &dyn crate::ToSql)
|
std::iter::once(&now as &dyn crate::ToSql)
|
||||||
|
|||||||
@@ -912,7 +912,7 @@ impl Imap {
|
|||||||
.execute(
|
.execute(
|
||||||
format!(
|
format!(
|
||||||
"DELETE FROM imap WHERE id IN ({})",
|
"DELETE FROM imap WHERE id IN ({})",
|
||||||
sql::repeat_vars(row_ids.len())?
|
sql::repeat_vars(row_ids.len())
|
||||||
),
|
),
|
||||||
rusqlite::params_from_iter(row_ids),
|
rusqlite::params_from_iter(row_ids),
|
||||||
)
|
)
|
||||||
@@ -949,7 +949,7 @@ impl Imap {
|
|||||||
.execute(
|
.execute(
|
||||||
format!(
|
format!(
|
||||||
"DELETE FROM imap WHERE id IN ({})",
|
"DELETE FROM imap WHERE id IN ({})",
|
||||||
sql::repeat_vars(row_ids.len())?
|
sql::repeat_vars(row_ids.len())
|
||||||
),
|
),
|
||||||
rusqlite::params_from_iter(row_ids),
|
rusqlite::params_from_iter(row_ids),
|
||||||
)
|
)
|
||||||
@@ -991,7 +991,7 @@ impl Imap {
|
|||||||
.execute(
|
.execute(
|
||||||
format!(
|
format!(
|
||||||
"UPDATE imap SET target='' WHERE id IN ({})",
|
"UPDATE imap SET target='' WHERE id IN ({})",
|
||||||
sql::repeat_vars(row_ids.len())?
|
sql::repeat_vars(row_ids.len())
|
||||||
),
|
),
|
||||||
rusqlite::params_from_iter(row_ids),
|
rusqlite::params_from_iter(row_ids),
|
||||||
)
|
)
|
||||||
@@ -1103,7 +1103,7 @@ impl Imap {
|
|||||||
.execute(
|
.execute(
|
||||||
format!(
|
format!(
|
||||||
"DELETE FROM imap_markseen WHERE id IN ({})",
|
"DELETE FROM imap_markseen WHERE id IN ({})",
|
||||||
sql::repeat_vars(rowid_set.len())?
|
sql::repeat_vars(rowid_set.len())
|
||||||
),
|
),
|
||||||
rusqlite::params_from_iter(rowid_set),
|
rusqlite::params_from_iter(rowid_set),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -399,7 +399,7 @@ async fn kill_ids(context: &Context, job_ids: &[u32]) -> Result<()> {
|
|||||||
}
|
}
|
||||||
let q = format!(
|
let q = format!(
|
||||||
"DELETE FROM jobs WHERE id IN({})",
|
"DELETE FROM jobs WHERE id IN({})",
|
||||||
sql::repeat_vars(job_ids.len())?
|
sql::repeat_vars(job_ids.len())
|
||||||
);
|
);
|
||||||
context
|
context
|
||||||
.sql
|
.sql
|
||||||
|
|||||||
@@ -1296,7 +1296,7 @@ pub async fn markseen_msgs(context: &Context, msg_ids: Vec<MsgId>) -> Result<()>
|
|||||||
c.blocked AS blocked
|
c.blocked AS blocked
|
||||||
FROM msgs m LEFT JOIN chats c ON c.id=m.chat_id
|
FROM msgs m LEFT JOIN chats c ON c.id=m.chat_id
|
||||||
WHERE m.id IN ({}) AND m.chat_id>9",
|
WHERE m.id IN ({}) AND m.chat_id>9",
|
||||||
sql::repeat_vars(msg_ids.len())?
|
sql::repeat_vars(msg_ids.len())
|
||||||
),
|
),
|
||||||
rusqlite::params_from_iter(&msg_ids),
|
rusqlite::params_from_iter(&msg_ids),
|
||||||
|row| {
|
|row| {
|
||||||
|
|||||||
@@ -843,10 +843,10 @@ async fn prune_tombstones(sql: &Sql) -> Result<()> {
|
|||||||
///
|
///
|
||||||
/// Use this together with [`rusqlite::ParamsFromIter`] to use dynamically generated
|
/// Use this together with [`rusqlite::ParamsFromIter`] to use dynamically generated
|
||||||
/// parameter lists.
|
/// parameter lists.
|
||||||
pub fn repeat_vars(count: usize) -> Result<String> {
|
pub fn repeat_vars(count: usize) -> String {
|
||||||
let mut s = "?,".repeat(count);
|
let mut s = "?,".repeat(count);
|
||||||
s.pop(); // Remove trailing comma
|
s.pop(); // Remove trailing comma
|
||||||
Ok(s)
|
s
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
Reference in New Issue
Block a user