GET_MULTIPLE was broken
This commit is contained in:
Howard Chu 2017-01-12 13:35:31 +00:00
parent 65b4c49dd3
commit 6a1ee5feec

View File

@ -6345,10 +6345,9 @@ mdb_cursor_get(MDB_cursor *mc, MDB_val *key, MDB_val *data,
rc = MDB_INCOMPATIBLE;
break;
}
if (!(mc->mc_xcursor->mx_cursor.mc_flags & C_INITIALIZED)) {
rc = EINVAL;
rc = MDB_SUCCESS;
if (!(mc->mc_xcursor->mx_cursor.mc_flags & C_INITIALIZED))
break;
}
if (mc->mc_xcursor->mx_cursor.mc_flags & C_EOF) {
MDB_cursor *mx = &mc->mc_xcursor->mx_cursor;
if (mx->mc_ki[mx->mc_top] >= NUMKEYS(mx->mc_pg[mx->mc_top])-1) {
@ -6357,7 +6356,6 @@ mdb_cursor_get(MDB_cursor *mc, MDB_val *key, MDB_val *data,
}
mx->mc_flags ^= C_EOF;
}
rc = MDB_SUCCESS;
goto fetchm;
case MDB_NEXT_MULTIPLE:
if (data == NULL) {