Full_Name: Juerg Bircher
Version: LMDB master
OS: macOS
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (178.83.86.107)


In mdb_cursor_put the flag MDB_DUPFIXED is checked on line 7628 as follows:

                if ((mc->mc_db->md_flags & (MDB_DUPSORT|MDB_DUPFIXED))
                        == MDB_DUPFIXED)
                        np->mp_flags |= P_LEAF2;

Should it not be like this:
                if (mc->mc_db->md_flags & MDB_DUPFIXED) 
                        np->mp_flags |= P_LEAF2;

According to the documentation:
         *      <li>#MDB_DUPFIXED
         *              This flag may only be used in combination with 
#MDB_DUPSORT.

So the expression (mc->mc_db->md_flags & (MDB_DUPSORT|MDB_DUPFIXED)) ==
MDB_DUPFIXED) would never match.




Reply via email to