mirror of
https://github.com/MariaDB/server.git
synced 2025-02-02 12:01:42 +01:00
DB->set_flags is now additive.
Closes #165 git-svn-id: file:///svn/tokudb@1083 c7de825b-a66e-492c-adef-691d508d4ae1
This commit is contained in:
parent
5d4ed64c3e
commit
3bbf5c9a5d
1 changed files with 14 additions and 6 deletions
20
src/ydb.c
20
src/ydb.c
|
@ -1293,12 +1293,20 @@ static int toku_db_set_dup_compare(DB *db, int (*dup_compare)(DB *, const DBT *,
|
|||
}
|
||||
|
||||
static int toku_db_set_flags(DB * db, u_int32_t flags) {
|
||||
u_int32_t tflags = 0;
|
||||
if (flags & DB_DUP)
|
||||
tflags += TOKU_DB_DUP;
|
||||
if (flags & DB_DUPSORT)
|
||||
tflags += TOKU_DB_DUPSORT;
|
||||
int r= toku_brt_set_flags(db->i->brt, tflags);
|
||||
u_int32_t tflags;
|
||||
int r = toku_brt_get_flags(db->i->brt, &tflags);
|
||||
if (r!=0) return r;
|
||||
|
||||
if (flags & DB_DUP) {
|
||||
tflags |= TOKU_DB_DUP;
|
||||
flags &= ~DB_DUP;
|
||||
}
|
||||
if (flags & DB_DUPSORT) {
|
||||
tflags |= TOKU_DB_DUPSORT;
|
||||
flags &= ~DB_DUPSORT;
|
||||
}
|
||||
if (flags != 0) return EINVAL;
|
||||
r = toku_brt_set_flags(db->i->brt, tflags);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue