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

Re: (ITS#7570) fix MDB_GET_MULTIPLE and MDB_NEXT_MULTIPLE behaviour

On Mon, 15 Apr 2013 20:01:01 GMT
hyc@symas.com wrote:

> Your patch changes the meaning of these operations.
> GET_MULTIPLE/NEXT_MULTIPLE is *only* for duplicate data and already
> documented as such.

The documentation in the header never states that MULTIPLE operations
should *fail* on singletons. One could expect that the sentence "Return
all the duplicate data items at the current cursor position" means
that singletons will *also* be returned, without having to resort to a
second call in case of failure.

> Your patch makes them return non-duplicate data. This is a
> fundamental change in an established behavior. A complete break,
> actually; it will return data that doesn't match the key that the
> client requested. It is completely wrong.

I'm sorry if it broke something and made you loose your time, I was
trying to help here. But the only change is to return singletons
instead of MDB_NOTFOUND - the data will always match the key.

Maybe I missed something, here. But I wonder why the client code should
at any point *expect* truly duplicate data.