mirror of
https://github.com/isar/libmdbx.git
synced 2025-08-23 21:14:28 +08:00
mdbx: добавление mdbx_env_get_pairsize4page_max()
и mdbx_env_get_valsize4page_max()
.
This commit is contained in:
20
src/core.c
20
src/core.c
@@ -546,8 +546,16 @@ __cold intptr_t mdbx_limits_pairsize4page_max(intptr_t pagesize,
|
||||
return LEAF_NODE_MAX(pagesize) - NODESIZE;
|
||||
}
|
||||
|
||||
intptr_t mdbx_limits_valsize4page_max(intptr_t pagesize,
|
||||
MDBX_db_flags_t flags) {
|
||||
__cold int mdbx_env_get_pairsize4page_max(const MDBX_env *env,
|
||||
MDBX_db_flags_t flags) {
|
||||
if (unlikely(!env || env->me_signature.weak != MDBX_ME_SIGNATURE))
|
||||
return -1;
|
||||
|
||||
return (int)mdbx_limits_pairsize4page_max((intptr_t)env->me_psize, flags);
|
||||
}
|
||||
|
||||
__cold intptr_t mdbx_limits_valsize4page_max(intptr_t pagesize,
|
||||
MDBX_db_flags_t flags) {
|
||||
if (pagesize < 1)
|
||||
pagesize = (intptr_t)mdbx_default_pagesize();
|
||||
if (unlikely(pagesize < (intptr_t)MIN_PAGESIZE ||
|
||||
@@ -562,6 +570,14 @@ intptr_t mdbx_limits_valsize4page_max(intptr_t pagesize,
|
||||
return PAGEROOM(pagesize);
|
||||
}
|
||||
|
||||
__cold int mdbx_env_get_valsize4page_max(const MDBX_env *env,
|
||||
MDBX_db_flags_t flags) {
|
||||
if (unlikely(!env || env->me_signature.weak != MDBX_ME_SIGNATURE))
|
||||
return -1;
|
||||
|
||||
return (int)mdbx_limits_valsize4page_max((intptr_t)env->me_psize, flags);
|
||||
}
|
||||
|
||||
/* Calculate the size of a leaf node.
|
||||
*
|
||||
* The size depends on the environment's page size; if a data item
|
||||
|
Reference in New Issue
Block a user