diff --git a/marginalia_nu/src/main/java/nu/marginalia/util/btree/BTreeReader.java b/marginalia_nu/src/main/java/nu/marginalia/util/btree/BTreeReader.java index 472478ea..be9de7cc 100644 --- a/marginalia_nu/src/main/java/nu/marginalia/util/btree/BTreeReader.java +++ b/marginalia_nu/src/main/java/nu/marginalia/util/btree/BTreeReader.java @@ -52,7 +52,9 @@ public class BTreeReader { public void retainEntries(BTreeQueryBuffer buffer) { if (header.layers() == 0) { BTreePointer pointer = new BTreePointer(header); - pointer.retainData(buffer); + while (buffer.hasMore()) { + pointer.retainData(buffer); + } } retainSingle(buffer); } @@ -61,7 +63,9 @@ public class BTreeReader { public void rejectEntries(BTreeQueryBuffer buffer) { if (header.layers() == 0) { BTreePointer pointer = new BTreePointer(header); - pointer.rejectData(buffer); + while (buffer.hasMore()) { + pointer.rejectData(buffer); + } } rejectSingle(buffer); }