mdbx: fix mdbx_dbi_sequence().

Change-Id: Ic620896ef42c1c2d85c07c146b72e773ab43a67d
This commit is contained in:
Leonid Yuriev 2018-10-19 13:33:27 +03:00
parent 2c643d5b53
commit 06e39e2728

View File

@ -13329,6 +13329,14 @@ int mdbx_dbi_sequence(MDBX_txn *txn, MDBX_dbi dbi, uint64_t *result,
if (unlikely(TXN_DBI_CHANGED(txn, dbi))) if (unlikely(TXN_DBI_CHANGED(txn, dbi)))
return MDBX_BAD_DBI; return MDBX_BAD_DBI;
if (unlikely(txn->mt_dbflags[dbi] & DB_STALE)) {
MDBX_cursor_couple cx;
/* Stale, must read the DB's root. cursor_init does it for us. */
int rc = mdbx_cursor_init(&cx.outer, txn, dbi);
if (unlikely(rc != MDBX_SUCCESS))
return rc;
}
MDBX_db *dbs = &txn->mt_dbs[dbi]; MDBX_db *dbs = &txn->mt_dbs[dbi];
if (likely(result)) if (likely(result))
*result = dbs->md_seq; *result = dbs->md_seq;