Fix CURSOR_NEXT/PREV on emptied DB

This commit is contained in:
Howard Chu 2013-06-11 17:13:08 -07:00
parent bcb67dd22f
commit c2cac4588a

View file

@ -4935,9 +4935,11 @@ fetchm:
case MDB_NEXT:
case MDB_NEXT_DUP:
case MDB_NEXT_NODUP:
if (!(mc->mc_flags & C_INITIALIZED))
if (!(mc->mc_flags & C_INITIALIZED)) {
rc = mdb_cursor_first(mc, key, data);
else
if (rc)
break;
} else
rc = mdb_cursor_next(mc, key, data, op);
break;
case MDB_PREV:
@ -4945,6 +4947,8 @@ fetchm:
case MDB_PREV_NODUP:
if (!(mc->mc_flags & C_INITIALIZED)) {
rc = mdb_cursor_last(mc, key, data);
if (rc)
break;
mc->mc_flags |= C_INITIALIZED;
mc->mc_ki[mc->mc_top]++;
}