1717import static org .eclipse .rdf4j .sail .lmdb .Varint .firstToLength ;
1818import static org .lwjgl .system .MemoryStack .stackPush ;
1919import static org .lwjgl .system .MemoryUtil .NULL ;
20+ import static org .lwjgl .util .lmdb .LMDB .MDB_APPENDDUP ;
2021import static org .lwjgl .util .lmdb .LMDB .MDB_CREATE ;
21- import static org .lwjgl .util .lmdb .LMDB .MDB_CURRENT ;
2222import static org .lwjgl .util .lmdb .LMDB .MDB_DUPSORT ;
2323import static org .lwjgl .util .lmdb .LMDB .MDB_FIRST ;
24- import static org .lwjgl .util .lmdb .LMDB .MDB_FIRST_DUP ;
2524import static org .lwjgl .util .lmdb .LMDB .MDB_GET_BOTH_RANGE ;
2625import static org .lwjgl .util .lmdb .LMDB .MDB_KEYEXIST ;
2726import static org .lwjgl .util .lmdb .LMDB .MDB_LAST ;
2827import static org .lwjgl .util .lmdb .LMDB .MDB_LAST_DUP ;
2928import static org .lwjgl .util .lmdb .LMDB .MDB_NEXT ;
30- import static org .lwjgl .util .lmdb .LMDB .MDB_NODUPDATA ;
3129import static org .lwjgl .util .lmdb .LMDB .MDB_NOMETASYNC ;
3230import static org .lwjgl .util .lmdb .LMDB .MDB_NOSYNC ;
3331import static org .lwjgl .util .lmdb .LMDB .MDB_NOTFOUND ;
7472import java .util .ArrayList ;
7573import java .util .Arrays ;
7674import java .util .Collection ;
77- import java .util .Comparator ;
7875import java .util .HashMap ;
7976import java .util .HashSet ;
8077import 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