|
|
@ -5082,15 +5082,12 @@ static void |
|
|
|
mdb_cursor_pop(MDB_cursor *mc) |
|
|
|
mdb_cursor_pop(MDB_cursor *mc) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (mc->mc_snum) { |
|
|
|
if (mc->mc_snum) { |
|
|
|
#if MDB_DEBUG |
|
|
|
DPRINTF(("popping page %"Z"u off db %d cursor %p", |
|
|
|
MDB_page *top = mc->mc_pg[mc->mc_top]; |
|
|
|
mc->mc_pg[mc->mc_top]->mp_pgno, DDBI(mc), (void *) mc)); |
|
|
|
#endif |
|
|
|
|
|
|
|
mc->mc_snum--; |
|
|
|
mc->mc_snum--; |
|
|
|
if (mc->mc_snum) |
|
|
|
if (mc->mc_snum) |
|
|
|
mc->mc_top--; |
|
|
|
mc->mc_top--; |
|
|
|
|
|
|
|
|
|
|
|
DPRINTF(("popped page %"Z"u off db %d cursor %p", top->mp_pgno, |
|
|
|
|
|
|
|
DDBI(mc), (void *) mc)); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -8556,7 +8553,7 @@ mdb_put(MDB_txn *txn, MDB_dbi dbi, |
|
|
|
if (!key || !data || dbi == FREE_DBI || !TXN_DBI_EXIST(txn, dbi)) |
|
|
|
if (!key || !data || dbi == FREE_DBI || !TXN_DBI_EXIST(txn, dbi)) |
|
|
|
return EINVAL; |
|
|
|
return EINVAL; |
|
|
|
|
|
|
|
|
|
|
|
if ((flags & (MDB_NOOVERWRITE|MDB_NODUPDATA|MDB_RESERVE|MDB_APPEND|MDB_APPENDDUP)) != flags) |
|
|
|
if (flags & ~(MDB_NOOVERWRITE|MDB_NODUPDATA|MDB_RESERVE|MDB_APPEND|MDB_APPENDDUP)) |
|
|
|
return EINVAL; |
|
|
|
return EINVAL; |
|
|
|
|
|
|
|
|
|
|
|
mdb_cursor_init(&mc, txn, dbi, &mx); |
|
|
|
mdb_cursor_init(&mc, txn, dbi, &mx); |
|
|
@ -9126,7 +9123,7 @@ mdb_env_copy(MDB_env *env, const char *path) |
|
|
|
int ESECT |
|
|
|
int ESECT |
|
|
|
mdb_env_set_flags(MDB_env *env, unsigned int flag, int onoff) |
|
|
|
mdb_env_set_flags(MDB_env *env, unsigned int flag, int onoff) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if ((flag & CHANGEABLE) != flag) |
|
|
|
if (flag & ~CHANGEABLE) |
|
|
|
return EINVAL; |
|
|
|
return EINVAL; |
|
|
|
if (onoff) |
|
|
|
if (onoff) |
|
|
|
env->me_flags |= flag; |
|
|
|
env->me_flags |= flag; |
|
|
@ -9275,7 +9272,7 @@ int mdb_dbi_open(MDB_txn *txn, const char *name, unsigned int flags, MDB_dbi *db |
|
|
|
unsigned int unused = 0, seq; |
|
|
|
unsigned int unused = 0, seq; |
|
|
|
size_t len; |
|
|
|
size_t len; |
|
|
|
|
|
|
|
|
|
|
|
if ((flags & VALID_FLAGS) != flags) |
|
|
|
if (flags & ~VALID_FLAGS) |
|
|
|
return EINVAL; |
|
|
|
return EINVAL; |
|
|
|
if (txn->mt_flags & MDB_TXN_ERROR) |
|
|
|
if (txn->mt_flags & MDB_TXN_ERROR) |
|
|
|
return MDB_BAD_TXN; |
|
|
|
return MDB_BAD_TXN; |
|
|
|