mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-03-13 14:27:59 +08:00
libmdb: Simplify mdb_default_cmp. No real change.
This commit is contained in:
parent
729a8a2819
commit
dce5bb2fee
@ -6117,27 +6117,17 @@ mdb_env_stat(MDB_env *env, MDB_stat *arg)
|
||||
static void
|
||||
mdb_default_cmp(MDB_txn *txn, MDB_dbi dbi)
|
||||
{
|
||||
if (txn->mt_dbs[dbi].md_flags & MDB_REVERSEKEY)
|
||||
txn->mt_dbxs[dbi].md_cmp = mdb_cmp_memnr;
|
||||
else if (txn->mt_dbs[dbi].md_flags & MDB_INTEGERKEY)
|
||||
txn->mt_dbxs[dbi].md_cmp = mdb_cmp_cint;
|
||||
else
|
||||
txn->mt_dbxs[dbi].md_cmp = mdb_cmp_memn;
|
||||
uint16_t f = txn->mt_dbs[dbi].md_flags;
|
||||
|
||||
if (txn->mt_dbs[dbi].md_flags & MDB_DUPSORT) {
|
||||
if (txn->mt_dbs[dbi].md_flags & MDB_INTEGERDUP) {
|
||||
if (txn->mt_dbs[dbi].md_flags & MDB_DUPFIXED)
|
||||
txn->mt_dbxs[dbi].md_dcmp = mdb_cmp_int;
|
||||
else
|
||||
txn->mt_dbxs[dbi].md_dcmp = mdb_cmp_cint;
|
||||
} else if (txn->mt_dbs[dbi].md_flags & MDB_REVERSEDUP) {
|
||||
txn->mt_dbxs[dbi].md_dcmp = mdb_cmp_memnr;
|
||||
} else {
|
||||
txn->mt_dbxs[dbi].md_dcmp = mdb_cmp_memn;
|
||||
}
|
||||
} else {
|
||||
txn->mt_dbxs[dbi].md_dcmp = NULL;
|
||||
}
|
||||
txn->mt_dbxs[dbi].md_cmp =
|
||||
(f & MDB_REVERSEKEY) ? mdb_cmp_memnr :
|
||||
(f & MDB_INTEGERKEY) ? mdb_cmp_cint : mdb_cmp_memn;
|
||||
|
||||
txn->mt_dbxs[dbi].md_dcmp =
|
||||
!(f & MDB_DUPSORT) ? 0 :
|
||||
((f & MDB_INTEGERDUP)
|
||||
? ((f & MDB_DUPFIXED) ? mdb_cmp_int : mdb_cmp_cint)
|
||||
: ((f & MDB_REVERSEDUP) ? mdb_cmp_memnr : mdb_cmp_memn));
|
||||
}
|
||||
|
||||
int mdb_open(MDB_txn *txn, const char *name, unsigned int flags, MDB_dbi *dbi)
|
||||
|
Loading…
x
Reference in New Issue
Block a user