mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-24 05:18:58 +00:00
Bugfix for rare bug where some queries may miss hits due to BTreeReader's retain function giving up too fast. (#129)
Co-authored-by: Viktor Lofgren <vlofgren@marginalia.nu> Reviewed-on: https://git.marginalia.nu/marginalia/marginalia.nu/pulls/129
This commit is contained in:
parent
f0f82f7db0
commit
06299cd554
@ -52,8 +52,10 @@ public class BTreeReader {
|
|||||||
public void retainEntries(BTreeQueryBuffer buffer) {
|
public void retainEntries(BTreeQueryBuffer buffer) {
|
||||||
if (header.layers() == 0) {
|
if (header.layers() == 0) {
|
||||||
BTreePointer pointer = new BTreePointer(header);
|
BTreePointer pointer = new BTreePointer(header);
|
||||||
|
while (buffer.hasMore()) {
|
||||||
pointer.retainData(buffer);
|
pointer.retainData(buffer);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
retainSingle(buffer);
|
retainSingle(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,8 +63,10 @@ public class BTreeReader {
|
|||||||
public void rejectEntries(BTreeQueryBuffer buffer) {
|
public void rejectEntries(BTreeQueryBuffer buffer) {
|
||||||
if (header.layers() == 0) {
|
if (header.layers() == 0) {
|
||||||
BTreePointer pointer = new BTreePointer(header);
|
BTreePointer pointer = new BTreePointer(header);
|
||||||
|
while (buffer.hasMore()) {
|
||||||
pointer.rejectData(buffer);
|
pointer.rejectData(buffer);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
rejectSingle(buffer);
|
rejectSingle(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user