Skip to content

Commit 41e4973

Browse files
committed
fix #93
1 parent fdaba19 commit 41e4973

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

nitrite/src/main/java/org/dizitart/no2/internals/SearchService.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,6 @@ private Set<NitriteId> sortIdSet(Collection<NitriteId> nitriteIdSet, FindOptions
171171
}
172172
}
173173

174-
if (sortedMap.size() == 0) {
175-
// search was made using non existing field in the whole collection
176-
// so we should not consider nullValueIds at all and send empty set
177-
return Collections.emptySet();
178-
}
179-
180174
List<NitriteId> sortedValues;
181175
if (findOptions.getSortOrder() == SortOrder.Ascending) {
182176
sortedValues = new ArrayList<>(nullValueIds);

nitrite/src/test/java/org/dizitart/no2/CollectionFindTest.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ public void testFindLimitAndSort() {
216216
public void testFindSortOnNonExistingField() {
217217
insert();
218218
Cursor cursor = collection.find(sort("my-value", SortOrder.Descending));
219-
assertEquals(cursor.size(), 0);
219+
assertEquals(cursor.size(), 3);
220220
}
221221

222222
@Test
@@ -238,7 +238,7 @@ public void testFindLimitAndSortInvalidField() {
238238
insert();
239239
Cursor cursor = collection.find(
240240
sort("birthDay2", SortOrder.Descending).thenLimit(1, 2));
241-
assertEquals(cursor.size(), 0);
241+
assertEquals(cursor.size(), 2);
242242
}
243243

244244
@Test
@@ -579,4 +579,20 @@ public void testIssue72() {
579579
assertNull(cursor.toList().get(0).get("startTime"));
580580
assertNotNull(cursor.toList().get(1).get("startTime"));
581581
}
582+
583+
@Test
584+
public void testIssue93() {
585+
NitriteCollection coll = db.getCollection("orderByOnNullableColumn2");
586+
587+
coll.remove(Filters.ALL);
588+
589+
Document doc = new Document().put("id", "test-2").put("group", "groupA");
590+
assertEquals(1, coll.insert(doc).getAffectedCount());
591+
592+
doc = new Document().put("id", "test-1").put("group", "groupA");
593+
assertEquals(1, coll.insert(doc).getAffectedCount());
594+
595+
Cursor cursor = coll.find(Filters.eq("group", "groupA"), FindOptions.sort("startTime", SortOrder.Descending));
596+
assertEquals(2, cursor.size());
597+
}
582598
}

0 commit comments

Comments
 (0)