mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-06 19:04:12 +08:00
mdbx: rename MDBX_CACHE_METAPTR
build-time option.
This commit is contained in:
parent
12d2879a9f
commit
149e708830
45
src/core.c
45
src/core.c
@ -5743,12 +5743,12 @@ constmeta_txnid(const MDBX_env *env, const MDBX_meta *meta) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static __inline void meta_cache_clear(MDBX_env *env) {
|
static __inline void meta_cache_clear(MDBX_env *env) {
|
||||||
#if MDBX_CACHE_METAS
|
#if MDBX_CACHE_METAPTR
|
||||||
env->cache_last_meta = nullptr;
|
env->cache_last_meta = nullptr;
|
||||||
env->cache_steady_meta = nullptr;
|
env->cache_steady_meta = nullptr;
|
||||||
#else
|
#else
|
||||||
(void)env;
|
(void)env;
|
||||||
#endif /* MDBX_CACHE_METAS */
|
#endif /* MDBX_CACHE_METAPTR */
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline txnid_t meta_txnid(const MDBX_env *env,
|
static __inline txnid_t meta_txnid(const MDBX_env *env,
|
||||||
@ -5888,44 +5888,41 @@ meta_mostrecent(const enum meta_choise_mode mode, const MDBX_env *env) {
|
|||||||
|
|
||||||
static volatile const MDBX_meta *meta_prefer_steady(const MDBX_env *env) {
|
static volatile const MDBX_meta *meta_prefer_steady(const MDBX_env *env) {
|
||||||
return
|
return
|
||||||
#if MDBX_CACHE_METAS
|
#if MDBX_CACHE_METAPTR
|
||||||
((MDBX_env *)env)->cache_steady_meta =
|
((MDBX_env *)env)->cache_steady_meta =
|
||||||
#endif /* MDBX_CACHE_METAS */
|
#endif /* MDBX_CACHE_METAPTR */
|
||||||
meta_mostrecent(prefer_steady, env);
|
meta_mostrecent(prefer_steady, env);
|
||||||
}
|
}
|
||||||
|
|
||||||
MDBX_NOTHROW_PURE_FUNCTION static const MDBX_meta *
|
MDBX_NOTHROW_PURE_FUNCTION static const MDBX_meta *
|
||||||
constmeta_prefer_steady(const MDBX_env *env) {
|
constmeta_prefer_steady(const MDBX_env *env) {
|
||||||
#if MDBX_CACHE_METAS
|
#if MDBX_CACHE_METAPTR
|
||||||
mdbx_assert(env, !env->cache_steady_meta ||
|
if (likely(env->cache_steady_meta)) {
|
||||||
env->cache_steady_meta ==
|
mdbx_assert(env,
|
||||||
meta_mostrecent(prefer_steady, env));
|
env->cache_steady_meta == meta_mostrecent(prefer_steady, env));
|
||||||
return (const MDBX_meta *)(env->cache_steady_meta ? env->cache_steady_meta :
|
return (const MDBX_meta *)env->cache_steady_meta;
|
||||||
#else
|
}
|
||||||
return (const MDBX_meta *)(
|
#endif /* MDBX_CACHE_METAPTR */
|
||||||
#endif /* MDBX_CACHE_METAS */
|
return (const MDBX_meta *)meta_prefer_steady(env);
|
||||||
meta_prefer_steady(env));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static volatile const MDBX_meta *meta_prefer_last(const MDBX_env *env) {
|
static volatile const MDBX_meta *meta_prefer_last(const MDBX_env *env) {
|
||||||
return
|
return
|
||||||
#if MDBX_CACHE_METAS
|
#if MDBX_CACHE_METAPTR
|
||||||
((MDBX_env *)env)->cache_last_meta =
|
((MDBX_env *)env)->cache_last_meta =
|
||||||
#endif /* MDBX_CACHE_METAS */
|
#endif /* MDBX_CACHE_METAPTR */
|
||||||
meta_mostrecent(prefer_last, env);
|
meta_mostrecent(prefer_last, env);
|
||||||
}
|
}
|
||||||
|
|
||||||
MDBX_NOTHROW_PURE_FUNCTION static const MDBX_meta *
|
MDBX_NOTHROW_PURE_FUNCTION static const MDBX_meta *
|
||||||
constmeta_prefer_last(const MDBX_env *env) {
|
constmeta_prefer_last(const MDBX_env *env) {
|
||||||
#if MDBX_CACHE_METAS
|
#if MDBX_CACHE_METAPTR
|
||||||
mdbx_assert(env,
|
if (likely(env->cache_last_meta)) {
|
||||||
!env->cache_last_meta ||
|
mdbx_assert(env, env->cache_last_meta == meta_mostrecent(prefer_last, env));
|
||||||
env->cache_last_meta == meta_mostrecent(prefer_last, env));
|
return (const MDBX_meta *)env->cache_last_meta;
|
||||||
return (const MDBX_meta *)(env->cache_last_meta ? env->cache_last_meta :
|
}
|
||||||
#else
|
#endif /* MDBX_CACHE_METAPTR */
|
||||||
return (const MDBX_meta *)(
|
return (const MDBX_meta *)meta_prefer_last(env);
|
||||||
#endif /* MDBX_CACHE_METAS */
|
|
||||||
meta_prefer_last(env));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static txnid_t mdbx_recent_committed_txnid(const MDBX_env *env) {
|
static txnid_t mdbx_recent_committed_txnid(const MDBX_env *env) {
|
||||||
|
@ -1189,10 +1189,10 @@ struct MDBX_env {
|
|||||||
|
|
||||||
MDBX_txn *me_txn; /* current write transaction */
|
MDBX_txn *me_txn; /* current write transaction */
|
||||||
mdbx_fastmutex_t me_dbi_lock;
|
mdbx_fastmutex_t me_dbi_lock;
|
||||||
#if MDBX_CACHE_METAS
|
#if MDBX_CACHE_METAPTR
|
||||||
volatile const MDBX_meta *cache_last_meta;
|
volatile const MDBX_meta *cache_last_meta;
|
||||||
volatile const MDBX_meta *cache_steady_meta;
|
volatile const MDBX_meta *cache_steady_meta;
|
||||||
#endif /* MDBX_CACHE_METAS */
|
#endif /* MDBX_CACHE_METAPTR */
|
||||||
MDBX_dbi me_numdbs; /* number of DBs opened */
|
MDBX_dbi me_numdbs; /* number of DBs opened */
|
||||||
|
|
||||||
MDBX_page *me_dp_reserve; /* list of malloc'ed blocks for re-use */
|
MDBX_page *me_dp_reserve; /* list of malloc'ed blocks for re-use */
|
||||||
|
@ -92,11 +92,11 @@
|
|||||||
#error MDBX_ENABLE_BIGFOOT must be defined as 0 or 1
|
#error MDBX_ENABLE_BIGFOOT must be defined as 0 or 1
|
||||||
#endif /* MDBX_ENABLE_BIGFOOT */
|
#endif /* MDBX_ENABLE_BIGFOOT */
|
||||||
|
|
||||||
#ifndef MDBX_CACHE_METAS
|
#ifndef MDBX_CACHE_METAPTR
|
||||||
#define MDBX_CACHE_METAS 0
|
#define MDBX_CACHE_METAPTR 0
|
||||||
#elif !(MDBX_CACHE_METAS == 0 || MDBX_CACHE_METAS == 1)
|
#elif !(MDBX_CACHE_METAPTR == 0 || MDBX_CACHE_METAPTR == 1)
|
||||||
#error MDBX_CACHE_METAS must be defined as 0 or 1
|
#error MDBX_CACHE_METAPTR must be defined as 0 or 1
|
||||||
#endif /* MDBX_CACHE_METAS */
|
#endif /* MDBX_CACHE_METAPTR */
|
||||||
|
|
||||||
/** Controls use of POSIX madvise() hints and friends. */
|
/** Controls use of POSIX madvise() hints and friends. */
|
||||||
#ifndef MDBX_ENABLE_MADVISE
|
#ifndef MDBX_ENABLE_MADVISE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user