From 05681f26b7901d219822cc4855b77099ce88f9c2 Mon Sep 17 00:00:00 2001 From: KCaverly Date: Wed, 27 Sep 2023 16:46:25 -0400 Subject: [PATCH] return an error and dont panic if database is empty --- crates/semantic_index/src/semantic_index.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/crates/semantic_index/src/semantic_index.rs b/crates/semantic_index/src/semantic_index.rs index 1ba0001cfda9c6be7128e1378bc75750cd1842da..7fe7c8fa0e92df74f4d6c1c8c2b6bf5223d68a24 100644 --- a/crates/semantic_index/src/semantic_index.rs +++ b/crates/semantic_index/src/semantic_index.rs @@ -786,14 +786,23 @@ impl SemanticIndex { .retrieve_included_file_ids(&worktree_db_ids, &includes, &excludes) .await?; + if file_ids.len() == 0 { + return Err(anyhow!("vector database is empty!")); + } + let batch_n = cx.background().num_cpus(); let ids_len = file_ids.clone().len(); + let batch_size = if ids_len <= batch_n { ids_len } else { ids_len / batch_n }; + if batch_size == 0 { + return Err(anyhow!("vector database is empty!")); + } + let mut batch_results = Vec::new(); for batch in file_ids.chunks(batch_size) { let batch = batch.into_iter().map(|v| *v).collect::>();