juerg.bircher@gmail.com wrote:
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;
No, the code is correct.
According to the documentation: * <li>#MDB_DUPFIXED * This flag may only be used in combination with #MDB_DUPSORT.
That is documentation for users of the API. It does not dictate what LMDB does internally.
So the expression (mc->mc_db->md_flags & (MDB_DUPSORT|MDB_DUPFIXED)) == MDB_DUPFIXED) would never match.
False.
There's no bug here. Closing this ITS.