From 30189b42a5c104c5b79cb152a56f38cddb0959a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Ml=C3=A1dek?= Date: Thu, 28 Oct 2021 17:34:01 +0200 Subject: [PATCH] [db] fix clippy warnings --- src/database/hierarchies.rs | 9 +++------ src/filesystem.rs | 37 ++++++++++++++----------------------- 2 files changed, 17 insertions(+), 29 deletions(-) diff --git a/src/database/hierarchies.rs b/src/database/hierarchies.rs index e176f63..086e1b8 100644 --- a/src/database/hierarchies.rs +++ b/src/database/hierarchies.rs @@ -165,7 +165,7 @@ pub fn fetch_or_create_dir>( let parent = parent.unwrap_or_else(|| HIER_ROOT_INVARIANT_ADDR.clone()); - let matching_directories: Vec
= query( + let matching_directories = query( connection, Query::SingleQuery(QueryPart::Matches(EntryQuery { entity: QueryComponent::Any, @@ -176,8 +176,7 @@ pub fn fetch_or_create_dir>( })), )? .into_iter() - .map(|e: Entry| e.entity) - .collect(); + .map(|e: Entry| e.entity); let parent_has: Vec
= query( connection, @@ -190,7 +189,6 @@ pub fn fetch_or_create_dir>( .extract_addresses(); let valid_directories: Vec
= matching_directories - .into_iter() .filter(|a| parent_has.contains(a)) .collect(); @@ -286,7 +284,7 @@ mod tests { ]); let str_path = path.to_string(); - assert!(str_path.len() > 0); + assert!(!str_path.is_empty()); let decoded_path: Result = str_path.parse(); assert!(decoded_path.is_ok()); @@ -306,4 +304,3 @@ mod tests { assert!(invalid_path.is_err()); } } - diff --git a/src/filesystem.rs b/src/filesystem.rs index 5cef2bb..36eaf9a 100644 --- a/src/filesystem.rs +++ b/src/filesystem.rs @@ -174,20 +174,16 @@ fn _rescan_vault>( }) .collect(); - let cleanup_results: Vec = existing_files - .write() - .unwrap() - .iter() - .filter(|f| f.valid) - .map(|file| { - let connection = pool.get()?; - connection.transaction::<_, Error, _>(|| { - file_set_valid(&connection, file.id, false)?; - // remove_object(&connection, )? - Ok(UpdatePathOutcome::Removed(PathBuf::from(file.path.clone()))) - }) + let existing_files = existing_files.read().unwrap(); + + let cleanup_results = existing_files.iter().filter(|f| f.valid).map(|file| { + let connection = pool.get()?; + connection.transaction::<_, Error, _>(|| { + file_set_valid(&connection, file.id, false)?; + // remove_object(&connection, )? + Ok(UpdatePathOutcome::Removed(PathBuf::from(file.path.clone()))) }) - .collect(); + }); let mut failed: Vec<&Error> = vec![]; let mut created = 0; @@ -226,10 +222,7 @@ fn _rescan_vault>( start.elapsed().as_secs() ); - Ok(path_results - .into_iter() - .chain(cleanup_results.into_iter()) - .collect()) + Ok(path_results.into_iter().chain(cleanup_results).collect()) } fn _process_directory_entry>( @@ -241,8 +234,8 @@ fn _process_directory_entry>( info!("Processing: {:?}", path); // Prepare the data - let db_pool = Arc::clone(&db_pool); - let existing_files = Arc::clone(&existing_files); + let db_pool = Arc::clone(db_pool); + let existing_files = Arc::clone(existing_files); let normalized_path = path.strip_prefix(&directory_path)?; let normalized_path_str = normalized_path.to_str().expect("path not valid unicode?!"); @@ -473,16 +466,14 @@ mod test { rescan_result .iter() .filter(|upo| matches!(upo.as_ref().unwrap(), UpdatePathOutcome::Unchanged(_))) - .collect::>() - .len() + .count() ); assert_eq!( 1, rescan_result .iter() .filter(|upo| matches!(upo.as_ref().unwrap(), UpdatePathOutcome::Removed(_))) - .collect::>() - .len() + .count() ); } }