Add mdb_dbi_flags()

Retrieve the flags from a DB handle.
This commit is contained in:
Howard Chu 2013-07-15 10:57:13 -07:00
parent 501eac2fc4
commit fc137e39a3
2 changed files with 18 additions and 0 deletions

View File

@ -889,6 +889,15 @@ int mdb_dbi_open(MDB_txn *txn, const char *name, unsigned int flags, MDB_dbi *d
*/
int mdb_stat(MDB_txn *txn, MDB_dbi dbi, MDB_stat *stat);
/** @brief Retrieve the DB flags for a database handle.
*
* @param[in] env An environment handle returned by #mdb_env_create()
* @param[in] dbi A database handle returned by #mdb_dbi_open()
* @param[out] flags Address where the flags will be returned.
* @return A non-zero error value on failure and 0 on success.
*/
int mdb_dbi_flags(MDB_env *env, MDB_dbi dbi, unsigned int *flags);
/** @brief Close a database handle.
*
* This call is not mutex protected. Handles should only be closed by

View File

@ -7743,6 +7743,15 @@ void mdb_dbi_close(MDB_env *env, MDB_dbi dbi)
free(ptr);
}
int mdb_dbi_flags(MDB_env *env, MDB_dbi dbi, unsigned int *flags)
{
/* We could return the flags for the FREE_DBI too but what's the point? */
if (dbi <= MAIN_DBI || dbi >= env->me_numdbs)
return EINVAL;
*flags = env->me_dbflags[dbi];
return MDB_SUCCESS;
}
/** Add all the DB's pages to the free list.
* @param[in] mc Cursor on the DB to free.
* @param[in] subs non-Zero to check for sub-DBs in this DB.