Add mdb_dbi_flags()

Retrieve the flags from a DB handle.
vmware
Howard Chu 12 years ago
parent 501eac2fc4
commit fc137e39a3
  1. 9
      libraries/liblmdb/lmdb.h
  2. 9
      libraries/liblmdb/mdb.c

@ -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); 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. /** @brief Close a database handle.
* *
* This call is not mutex protected. Handles should only be closed by * This call is not mutex protected. Handles should only be closed by

@ -7743,6 +7743,15 @@ void mdb_dbi_close(MDB_env *env, MDB_dbi dbi)
free(ptr); 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. /** Add all the DB's pages to the free list.
* @param[in] mc Cursor on the DB to free. * @param[in] mc Cursor on the DB to free.
* @param[in] subs non-Zero to check for sub-DBs in this DB. * @param[in] subs non-Zero to check for sub-DBs in this DB.

Loading…
Cancel
Save