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 9121793b..65bde0b9 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 54754934..8cd16eb1 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 b8d6fc8c..bba34a63 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 4f2c1985..91a50db1 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;