[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#8537) liblmdb errors with data=NULL and non-matching SET_KEY

Related issue:

mdb_cursor_prev/mdb_cursor_last() with data==NULL position the
xcursor at 1st data item, while data!=NULL puts it at last item.

That's unintuitive and should either be documented or normalized -
but changing it can break existing programs.  In the cases when
it didn't just fail earlier, anyway: mdb_cursor_prev(), and maybe
mdb_cursor_last() on a sub-DB.  Haven't tested the latter.

Whatever mdb_cursor_last() ends up doing, I think mdb_cursor_prev()
should do the same.

There is positioning code inside if(data) elsewhere too, but
defaults to doing cursor_first() or something similar.  Don't know
if that can have any visible effect on the next operation.