Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap

This commit is contained in:
Howard Chu 2011-09-18 14:28:20 -07:00
commit 7164c4c662
3 changed files with 16 additions and 7 deletions

View File

@ -1163,7 +1163,7 @@ mdb_env_sync(MDB_env *env, int force)
return rc;
}
static inline void
static void
mdb_txn_reset0(MDB_txn *txn);
/** Common code for #mdb_txn_begin() and #mdb_txn_renew().
@ -1172,7 +1172,7 @@ mdb_txn_reset0(MDB_txn *txn);
* fail for read-only transactions, and then only if the
* reader table is full.
*/
static inline int
static int
mdb_txn_renew0(MDB_txn *txn)
{
MDB_env *env = txn->mt_env;
@ -1301,7 +1301,7 @@ mdb_txn_begin(MDB_env *env, unsigned int flags, MDB_txn **ret)
/** Common code for #mdb_txn_reset() and #mdb_txn_abort().
* @param[in] txn the transaction handle to reset
*/
static inline void
static void
mdb_txn_reset0(MDB_txn *txn)
{
MDB_env *env = txn->mt_env;
@ -2107,7 +2107,7 @@ typedef unsigned long long mdb_hash_t;
* NOTE: To use the recommended 64 bit FNV-1a hash, use MDB_HASH_INIT as the
* hval arg on the first call.
*/
static inline mdb_hash_t
static mdb_hash_t
mdb_hash_str(char *str, mdb_hash_t hval)
{
unsigned char *s = (unsigned char *)str; /* unsigned string */
@ -5342,10 +5342,19 @@ int mdb_drop(MDB_txn *txn, MDB_dbi dbi, int del)
mdb_cursor_close(mc);
return rc;
if (del) {
/* Can't delete the main DB */
if (del && dbi > MAIN_DBI) {
rc = mdb_del(txn, MAIN_DBI, &mc->mc_dbx->md_name, NULL);
if (!rc)
mdb_close(txn->mt_env, dbi);
} else {
txn->mt_dbflags[dbi] |= DB_DIRTY;
txn->mt_dbs[dbi].md_depth = 0;
txn->mt_dbs[dbi].md_branch_pages = 0;
txn->mt_dbs[dbi].md_leaf_pages = 0;
txn->mt_dbs[dbi].md_overflow_pages = 0;
txn->mt_dbs[dbi].md_entries = 0;
txn->mt_dbs[dbi].md_root = P_INVALID;
}
mdb_cursor_close(mc);
return rc;

View File

@ -167,7 +167,7 @@ int mdb_midl_append( IDL *idp, ID id )
#define SWAP(a,b) { itmp=(a); (a)=(b); (b)=itmp; }
void
mdb_midl_sort( ID *ids )
mdb_midl_sort( IDL ids )
{
/* Max possible depth of int-indexed tree * 2 items/level */
int istack[sizeof(int)*CHAR_BIT * 2];

View File

@ -132,7 +132,7 @@ int mdb_midl_shrink(IDL *idp);
/** Append an ID onto an IDL.
* @param[in,out] idp Address of the IDL to append to.
* @param[in] id The ID to append.
* @return 0 on success, -2 if the IDL is too large.
* @return 0 on success, -1 if the IDL is too large.
*/
int mdb_midl_append( IDL *idp, ID id );