static int
mdb_page_get(MDB_txn *txn, pgno_t pgno, MDB_page **ret, int *lvl)
{
+ MDB_env *env = txn->mt_env;
MDB_page *p = NULL;
int level;
- if (!((txn->mt_flags & MDB_TXN_RDONLY) |
- (txn->mt_env->me_flags & MDB_WRITEMAP)))
- {
+ if (!((txn->mt_flags & MDB_TXN_RDONLY) | (env->me_flags & MDB_WRITEMAP))) {
MDB_txn *tx2 = txn;
level = 1;
do {
if (tx2->mt_spill_pgs) {
x = mdb_midl_search(tx2->mt_spill_pgs, pgno);
if (x <= tx2->mt_spill_pgs[0] && tx2->mt_spill_pgs[x] == pgno) {
- p = (MDB_page *)(txn->mt_env->me_map + txn->mt_env->me_psize * pgno);
+ p = (MDB_page *)(env->me_map + env->me_psize * pgno);
goto done;
}
}
if (pgno < txn->mt_next_pgno) {
level = 0;
- p = (MDB_page *)(txn->mt_env->me_map + txn->mt_env->me_psize * pgno);
+ p = (MDB_page *)(env->me_map + env->me_psize * pgno);
} else {
DPRINTF("page %"Z"u not found", pgno);
assert(p != NULL);