From c0998aabdb79989d9574f0d78e5a77bc20f4014e Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 20 Nov 2025 14:46:16 +0100 Subject: [PATCH] jdb: Fix index not deleting --- libraries/jdb/VERSION | 2 +- libraries/jdb/src/main/java/de/oliver/jdb/JDB.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/libraries/jdb/VERSION b/libraries/jdb/VERSION index e4c0d46e..a6a3a43c 100644 --- a/libraries/jdb/VERSION +++ b/libraries/jdb/VERSION @@ -1 +1 @@ -1.0.3 \ No newline at end of file +1.0.4 \ No newline at end of file diff --git a/libraries/jdb/src/main/java/de/oliver/jdb/JDB.java b/libraries/jdb/src/main/java/de/oliver/jdb/JDB.java index cd919e4f..9d78c07a 100644 --- a/libraries/jdb/src/main/java/de/oliver/jdb/JDB.java +++ b/libraries/jdb/src/main/java/de/oliver/jdb/JDB.java @@ -9,6 +9,7 @@ import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.Map; @@ -34,7 +35,7 @@ public class JDB { public JDB(@NotNull String basePath) { this.basePath = basePath; this.baseDirectory = new File(basePath); - + this.index = JIndex.load("jdb_index", basePath); } @@ -170,7 +171,12 @@ public class JDB { * @param path the relative path (excluding .json extension) of the document(s) to be deleted */ public void delete(@NotNull String path) { - index.indexMap().remove(path); + for (Map.Entry entry : new HashSet<>(index.indexMap().entrySet())) { + if (entry.getKey().equals(path) || entry.getValue().equals(path)) { + index.indexMap().remove(entry.getKey()); + index.save(); + } + } File file = new File(baseDirectory, path); if (file.isDirectory()) {