Use repeat_vars() more (#3133)

This commit is contained in:
Hocuri
2022-03-20 15:23:11 +01:00
committed by GitHub
parent a3ba19db96
commit 1e94ad25e1
3 changed files with 10 additions and 6 deletions

View File

@@ -31,7 +31,6 @@ use crate::ephemeral::{delete_expired_messages, schedule_ephemeral_task, Timer a
use crate::events::EventType;
use crate::html::new_html_mimepart;
use crate::job::{self, Action};
use crate::location;
use crate::message::{self, Message, MessageState, MsgId, Viewtype};
use crate::mimefactory::MimeFactory;
use crate::mimeparser::SystemMessage;
@@ -41,6 +40,7 @@ use crate::scheduler::InterruptInfo;
use crate::smtp::send_msg_to_smtp;
use crate::stock_str;
use crate::webxdc::WEBXDC_SUFFIX;
use crate::{location, sql};
/// An chat item, such as a message or a marker.
#[derive(Debug, Copy, Clone)]
@@ -3103,7 +3103,7 @@ pub async fn forward_msgs(context: &Context, msg_ids: &[MsgId], chat_id: ChatId)
.query_map(
format!(
"SELECT id FROM msgs WHERE id IN({}) ORDER BY timestamp,id",
msg_ids.iter().map(|_| "?").collect::<Vec<&str>>().join(",")
sql::repeat_vars(msg_ids.len())?
),
rusqlite::params_from_iter(msg_ids),
|row| row.get::<_, MsgId>(0),

View File

@@ -41,6 +41,7 @@ use crate::param::Params;
use crate::provider::Socket;
use crate::scheduler::connectivity::ConnectivityStore;
use crate::scheduler::InterruptInfo;
use crate::sql;
use crate::stock_str;
mod client;
@@ -832,7 +833,7 @@ impl Imap {
.execute(
format!(
"DELETE FROM imap WHERE id IN ({})",
row_ids.iter().map(|_| "?").collect::<Vec<&str>>().join(",")
sql::repeat_vars(row_ids.len())?
),
rusqlite::params_from_iter(row_ids),
)
@@ -869,7 +870,7 @@ impl Imap {
.execute(
format!(
"DELETE FROM imap WHERE id IN ({})",
row_ids.iter().map(|_| "?").collect::<Vec<&str>>().join(",")
sql::repeat_vars(row_ids.len())?
),
rusqlite::params_from_iter(row_ids),
)
@@ -911,7 +912,7 @@ impl Imap {
.execute(
format!(
"UPDATE imap SET target='' WHERE id IN ({})",
row_ids.iter().map(|_| "?").collect::<Vec<&str>>().join(",")
sql::repeat_vars(row_ids.len())?
),
rusqlite::params_from_iter(row_ids),
)

View File

@@ -472,9 +472,12 @@ pub async fn kill_action(context: &Context, action: Action) -> Result<()> {
/// Remove jobs with specified IDs.
async fn kill_ids(context: &Context, job_ids: &[u32]) -> Result<()> {
if job_ids.is_empty() {
return Ok(());
}
let q = format!(
"DELETE FROM jobs WHERE id IN({})",
job_ids.iter().map(|_| "?").collect::<Vec<&str>>().join(",")
sql::repeat_vars(job_ids.len())?
);
context
.sql