M Gurschi wrote: > ...in addition, > > Can i rely that for both: > *mdb_cursor_get(key, data, MDB_SET_RANGE)* > and > *mdb_cursor_get(key, data, MDB_NEXT)* > > , if the call returns *MDB_NOTFOUND*, then the key i passed in the call will > be left unmodified?
Of course. If the return code is NOTFOUND, there is nothing to return to you. > > Kind Regards, > Maxim Gurschi > > On 2 Feb 2024, at 11:23, M Gurschi <[email protected]> wrote: > > Hello Howard, > > Tell me please, after *mdb_cursor_get(key, data, MDB_SET_RANGE)*, if i want > to consume the key, if i understand correctly the key will be updated (on > success). Will the reference to data also be updated or do i need to do: > *mdb_cursor_get(key, data, MDB_GET_CURRENT)* to get data to point at the data > from the key? > > Kind Regards, > Maxim Gurschi > > On 1 Feb 2024, at 20:21, M Gurschi <[email protected]> wrote: > > Understood, thank you! > > Kind Regards, > Maxim Gurschi > > On 1 Feb 2024, at 17:53, Howard Chu <[email protected]> wrote: > > M Gurschi wrote: >> Hello team, >> >> Can you please let me know, when using *mdb_cursor_get* with *MDB_SET* >> operation, in case the key is not present in the db, where is the cursor >> left pointing? >> >> My scenario is that i want to retrieve two adjacent keys. >> >> 1. first *mdb_cursor_get* with *MDB_SET* >> 2. after that, *mdb_cursor_get* with *MDB_NEXT* >> >> I'm wondering what can i expect the cursor to point at in case the key is >> not found in step 1. > > You cannot expect anything in particular. > > Use MDB_SET_RANGE instead. > -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
