Full_Name: Hallvard B Furuseth Version: mdb.master, 8b46dcc26d1e9897ab1da3a4a164cad4a4479a52 OS: Linux x86_64 URL: ftp://ftp.openldap.org/incoming/Hallvard-Furuseth-151005.c Submission from: (NULL) (81.191.45.5) Submitted by: hallvard
The test program catches several cursor tracking bugs.
$ ./a.out 250 mn_flags = 0 mn_flags = 4 mn_flags = 4 a.c:36: run: Assertion `d1.mv_size == ksz && d1.mv_data == d2.mv_data' failed. Aborted
$ ./a.out 500 mn_flags = 0 mn_flags = 4 mn_flags = 6 a.c:36: run: Assertion `d1.mv_size == ksz && d1.mv_data == d2.mv_data' failed. Aborted
$ ./a.out 1000 mn_flags = 0 mn_flags = 6 a.c:34: mdb_cursor_get(c1, &k1, &d1, MDB_GET_CURRENT): Invalid argument Aborted
It works when the DUPSORT sub-DB is created immediately:
$ ./a.out 1500 mn_flags = 6 <repeated 22 times>