From 5c96ec14acaf5e5914690083571226b6983a208c Mon Sep 17 00:00:00 2001 From: Anindya Chatterjee <696662+anidotnet@users.noreply.github.com> Date: Thu, 23 Jan 2025 23:47:59 +0530 Subject: [PATCH] fixes #1093 (#1105) * fixes #1093 * build fix --- .../rocksdb/formatter/NitriteSerializers.java | 4 +-- .../java/org/dizitart/no2/NitriteTest.java | 25 +++++++++++++++++++ .../collection/operation/IndexManager.java | 1 + .../java/org/dizitart/no2/common/DBNull.java | 7 +++--- 4 files changed, 31 insertions(+), 6 deletions(-) diff --git a/nitrite-rocksdb-adapter/src/main/java/org/dizitart/no2/rocksdb/formatter/NitriteSerializers.java b/nitrite-rocksdb-adapter/src/main/java/org/dizitart/no2/rocksdb/formatter/NitriteSerializers.java index 9121793bd..65bde0b9a 100644 --- a/nitrite-rocksdb-adapter/src/main/java/org/dizitart/no2/rocksdb/formatter/NitriteSerializers.java +++ b/nitrite-rocksdb-adapter/src/main/java/org/dizitart/no2/rocksdb/formatter/NitriteSerializers.java @@ -9,10 +9,10 @@ import com.esotericsoftware.kryo.kryo5.serializers.MapSerializer; import org.dizitart.no2.collection.Document; import org.dizitart.no2.collection.NitriteId; -import org.dizitart.no2.common.meta.Attributes; +import org.dizitart.no2.common.DBValue; import org.dizitart.no2.common.Fields; +import org.dizitart.no2.common.meta.Attributes; import org.dizitart.no2.common.tuples.Pair; -import org.dizitart.no2.common.DBValue; import org.dizitart.no2.common.util.SpatialKey; import org.dizitart.no2.index.BoundingBox; import org.dizitart.no2.index.IndexDescriptor; diff --git a/nitrite-rocksdb-adapter/src/test/java/org/dizitart/no2/NitriteTest.java b/nitrite-rocksdb-adapter/src/test/java/org/dizitart/no2/NitriteTest.java index 54754934a..8cd16eb17 100644 --- a/nitrite-rocksdb-adapter/src/test/java/org/dizitart/no2/NitriteTest.java +++ b/nitrite-rocksdb-adapter/src/test/java/org/dizitart/no2/NitriteTest.java @@ -443,6 +443,31 @@ public void run() { db.close(); } + @Test + public void testIssue1093() { + ObjectRepository repository = db.getRepository(Receipt.class); + repository.clear(); + + Receipt receipt1 = new Receipt(); + receipt1.clientRef = "111-11111"; + receipt1.status = Receipt.Status.PREPARING; + + Receipt receipt2 = new Receipt(); + receipt2.clientRef = "222-22222"; + receipt2.status = Receipt.Status.PREPARING; + + repository = db.getRepository(Receipt.class); + repository.update(receipt1, true); + repository.update(receipt2, true); + + assertEquals(repository.find().size(), 2); + Receipt found1 = repository.getById("111-11111"); + assertNotNull(found1); + + Receipt found2 = repository.getById("222-22222"); + assertNotNull(found2); + } + @Data @AllArgsConstructor @NoArgsConstructor diff --git a/nitrite/src/main/java/org/dizitart/no2/collection/operation/IndexManager.java b/nitrite/src/main/java/org/dizitart/no2/collection/operation/IndexManager.java index b8d6fc8c2..bba34a638 100644 --- a/nitrite/src/main/java/org/dizitart/no2/collection/operation/IndexManager.java +++ b/nitrite/src/main/java/org/dizitart/no2/collection/operation/IndexManager.java @@ -113,6 +113,7 @@ public void clearAll() { String indexMapName = indexMeta.getIndexMap(); NitriteMap indexMap = nitriteStore.openMap(indexMapName, Object.class, Object.class); indexMap.clear(); + indexMap.close(); } } } diff --git a/nitrite/src/main/java/org/dizitart/no2/common/DBNull.java b/nitrite/src/main/java/org/dizitart/no2/common/DBNull.java index 4f2c1985e..91a50db1e 100644 --- a/nitrite/src/main/java/org/dizitart/no2/common/DBNull.java +++ b/nitrite/src/main/java/org/dizitart/no2/common/DBNull.java @@ -1,11 +1,14 @@ package org.dizitart.no2.common; +import lombok.Getter; + /** * @author Anindya Chatterjee * @since 1.0 */ public class DBNull extends DBValue { private static final long serialVersionUID = 1598819770L; + @Getter private static final DBNull instance = new DBNull(); private DBNull() { @@ -22,10 +25,6 @@ public int compareTo(DBValue o) { return -1; } - public static DBNull getInstance() { - return instance; - } - @Override public String toString() { return null;