Skip to content

Commit 80b37c0

Browse files
committed
Use MDB_APPENDDUP
1 parent 68f8d49 commit 80b37c0

1 file changed

Lines changed: 3 additions & 5 deletions

File tree

core/sail/lmdb/src/main/java/org/eclipse/rdf4j/sail/lmdb/TripleStore.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,15 @@
1717
import static org.eclipse.rdf4j.sail.lmdb.Varint.firstToLength;
1818
import static org.lwjgl.system.MemoryStack.stackPush;
1919
import static org.lwjgl.system.MemoryUtil.NULL;
20+
import static org.lwjgl.util.lmdb.LMDB.MDB_APPENDDUP;
2021
import static org.lwjgl.util.lmdb.LMDB.MDB_CREATE;
21-
import static org.lwjgl.util.lmdb.LMDB.MDB_CURRENT;
2222
import static org.lwjgl.util.lmdb.LMDB.MDB_DUPSORT;
2323
import static org.lwjgl.util.lmdb.LMDB.MDB_FIRST;
24-
import static org.lwjgl.util.lmdb.LMDB.MDB_FIRST_DUP;
2524
import static org.lwjgl.util.lmdb.LMDB.MDB_GET_BOTH_RANGE;
2625
import static org.lwjgl.util.lmdb.LMDB.MDB_KEYEXIST;
2726
import static org.lwjgl.util.lmdb.LMDB.MDB_LAST;
2827
import static org.lwjgl.util.lmdb.LMDB.MDB_LAST_DUP;
2928
import static org.lwjgl.util.lmdb.LMDB.MDB_NEXT;
30-
import static org.lwjgl.util.lmdb.LMDB.MDB_NODUPDATA;
3129
import static org.lwjgl.util.lmdb.LMDB.MDB_NOMETASYNC;
3230
import static org.lwjgl.util.lmdb.LMDB.MDB_NOSYNC;
3331
import static org.lwjgl.util.lmdb.LMDB.MDB_NOTFOUND;
@@ -74,7 +72,6 @@
7472
import java.util.ArrayList;
7573
import java.util.Arrays;
7674
import java.util.Collection;
77-
import java.util.Comparator;
7875
import java.util.HashMap;
7976
import java.util.HashSet;
8077
import java.util.Iterator;
@@ -959,6 +956,7 @@ private int merge(long cursor, int elements, MDBVal keyVal, MDBVal dataVal, Byte
959956
E(mdb_cursor_put(cursor, keyVal, dataVal, 0));
960957
}
961958
} else {
959+
// prepend to value
962960
if (existingValuesSize + newValuesSize <= 500) {
963961
target.clear();
964962
target.put(newValueBuf);
@@ -984,7 +982,7 @@ private int merge(long cursor, int elements, MDBVal keyVal, MDBVal dataVal, Byte
984982
target.flip();
985983
E(mdb_cursor_del(cursor, 0));
986984
dataVal.mv_data(target);
987-
E(mdb_cursor_put(cursor, keyVal, dataVal, 0));
985+
E(mdb_cursor_put(cursor, keyVal, dataVal, MDB_APPENDDUP));
988986
return MDB_SUCCESS;
989987
}
990988
}

0 commit comments

Comments
 (0)