Use mdb_cmp_long() for FREE_DBI
authorHallvard Furuseth <hallvard@openldap.org>
Sat, 4 Jul 2015 11:48:01 +0000 (13:48 +0200)
committerHallvard Furuseth <hallvard@openldap.org>
Sat, 4 Jul 2015 11:48:01 +0000 (13:48 +0200)
libraries/liblmdb/mdb.c

index 8270100..7cf5294 100644 (file)
@@ -4769,6 +4769,7 @@ mdb_env_open(MDB_env *env, const char *path, unsigned int flags, mdb_mode_t mode
                rc = ENOMEM;
                goto leave;
        }
+       env->me_dbxs[FREE_DBI].md_cmp = mdb_cmp_long; /* aligned MDB_INTEGERKEY */
 
        /* For RDONLY, get lockfile after we know datafile exists */
        if (!(flags & (MDB_RDONLY|MDB_NOLOCK))) {
@@ -9316,10 +9317,6 @@ int mdb_dbi_open(MDB_txn *txn, const char *name, unsigned int flags, MDB_dbi *db
        unsigned int unused = 0, seq;
        size_t len;
 
-       if (txn->mt_dbxs[FREE_DBI].md_cmp == NULL) {
-               mdb_default_cmp(txn, FREE_DBI);
-       }
-
        if ((flags & VALID_FLAGS) != flags)
                return EINVAL;
        if (txn->mt_flags & MDB_TXN_ERROR)