Skip to content

Commit

Permalink
save
Browse files Browse the repository at this point in the history
  • Loading branch information
AskAlexSharov committed Jun 16, 2024
1 parent a98daa6 commit e9a1e3f
Show file tree
Hide file tree
Showing 20 changed files with 42,149 additions and 46,211 deletions.
248 changes: 208 additions & 40 deletions mdbxdist/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,5 @@
##
## Copyright 2020-2024 Leonid Yuriev <[email protected]>
## and other libmdbx authors: please see AUTHORS file.
## All rights reserved.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted only as authorized by the OpenLDAP
## Public License.
##
## A copy of this license is available in the file LICENSE in the
## top-level directory of the distribution or, alternatively, at
## <http://www.OpenLDAP.org/license.html>.
##
## Copyright (c) 2020-2024 Леонид Юрьев aka Leonid Yuriev <[email protected]>
## SPDX-License-Identifier: Apache-2.0

##
## libmdbx = { Revised and extended descendant of Symas LMDB. }
Expand Down Expand Up @@ -69,36 +58,137 @@ else()
endif()

if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/COPYRIGHT" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/NOTICE" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/README.md" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx.h++" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/core.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/alloy.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/api-cursor.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/api-env.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/api-extra.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/api-key-transform.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/api-txn.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/atomics-ops.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/atomics-types.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/audit.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/chk.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/cogs.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/cogs.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/coherency.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/cold.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.in" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/copy.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/cursor.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/cursor.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/dbi.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/dbi.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/debug_begin.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/debug_end.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/dpl.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/dpl.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/dxb.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/env-opts.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/env.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/essentials.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/gc-get.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/gc-put.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/gc.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/global.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/internals.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/layout-dxb.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/layout-lck.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/lck-posix.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/lck-windows.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/lck.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/lck.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/logging_and_debug.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/logging_and_debug.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/man1/mdbx_chk.1" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/man1/mdbx_copy.1" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/man1/mdbx_drop.1" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/man1/mdbx_dump.1" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/man1/mdbx_load.1" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/man1/mdbx_stat.1" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/mdbx.c++" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/meta.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/meta.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/misc.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/mvcc-readers.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/node.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/node.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/ntdll.def" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/options.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/osal.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/osal.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/page-get.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/page-iov.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/page-iov.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/page-ops.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/page-ops.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/page-search.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/pnl.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/pnl.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/preface.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/proto.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/range-estimate.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/refund.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/sort.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/spill.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/spill.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/subdb.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tls.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tls.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tools/chk.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tools/copy.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tools/drop.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tools/dump.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tools/load.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tools/stat.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tools/wingetopt.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tools/wingetopt.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/tree.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/txl.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/txl.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/txn.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/unaligned.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/utils.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/utils.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/version.c.in" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/man1" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/mdbx_chk.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/mdbx.c++")
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/walk.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/walk.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/windows-import.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/windows-import.h")
set(MDBX_AMALGAMATED_SOURCE FALSE)
find_program(GIT git)
if(NOT GIT)
message(SEND_ERROR "Git command-line tool not found")
endif()
set(MDBX_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/VERSION.txt" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/NOTICE" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx.c++" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/man1" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx_chk.c")
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx.h" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx.h++" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx_chk.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx_copy.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx_dump.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx_load.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx_stat.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mdbx_drop.c" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/ntdll.def" AND
EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/config.h.in")
set(MDBX_AMALGAMATED_SOURCE TRUE)
set(MDBX_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
else()
message(FATAL_ERROR "\n"
"Please don't use tarballs nor zips which are automatically provided by Github! "
"These archives do not contain version information and thus are unfit to build libmdbx. "
"You can vote for ability of disabling auto-creation such unsuitable archives at https://github.jparrowsec.cnmunity/t/disable-tarball\n"
"Instead of above, just clone the git repository, either download a tarball or zip with the properly amalgamated source core. "
"For embedding libmdbx use a git-submodule or the amalgamated source code.\n"
"Please, avoid using any other techniques.")
"The set of libmdbx source code files is incomplete! "
"Instead just follow the https://libmdbx.dqdkfa.ru/usage.html "
"PLEASE, AVOID USING ANY OTHER TECHNIQUES.")
endif()

if(DEFINED PROJECT_NAME)
Expand Down Expand Up @@ -600,13 +690,88 @@ else()
include_directories("${MDBX_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}")
else()
list(APPEND LIBMDBX_SOURCES
"${MDBX_SOURCE_DIR}/api-cursor.c"
"${MDBX_SOURCE_DIR}/api-env.c"
"${MDBX_SOURCE_DIR}/api-extra.c"
"${MDBX_SOURCE_DIR}/api-key-transform.c"
"${MDBX_SOURCE_DIR}/api-txn.c"
"${MDBX_SOURCE_DIR}/atomics-ops.h"
"${MDBX_SOURCE_DIR}/atomics-types.h"
"${MDBX_SOURCE_DIR}/audit.c"
"${MDBX_SOURCE_DIR}/chk.c"
"${MDBX_SOURCE_DIR}/cogs.c"
"${MDBX_SOURCE_DIR}/cogs.h"
"${MDBX_SOURCE_DIR}/coherency.c"
"${MDBX_SOURCE_DIR}/cold.c"
"${MDBX_SOURCE_DIR}/copy.c"
"${MDBX_SOURCE_DIR}/cursor.c"
"${MDBX_SOURCE_DIR}/cursor.h"
"${MDBX_SOURCE_DIR}/dbi.c"
"${MDBX_SOURCE_DIR}/dbi.h"
"${MDBX_SOURCE_DIR}/dpl.c"
"${MDBX_SOURCE_DIR}/dpl.h"
"${MDBX_SOURCE_DIR}/dxb.c"
"${MDBX_SOURCE_DIR}/env-opts.c"
"${MDBX_SOURCE_DIR}/env.c"
"${MDBX_SOURCE_DIR}/essentials.h"
"${MDBX_SOURCE_DIR}/gc-get.c"
"${MDBX_SOURCE_DIR}/gc-put.c"
"${MDBX_SOURCE_DIR}/gc.h"
"${MDBX_SOURCE_DIR}/global.c"
"${MDBX_SOURCE_DIR}/internals.h"
"${MDBX_SOURCE_DIR}/layout-dxb.h"
"${MDBX_SOURCE_DIR}/layout-lck.h"
"${MDBX_SOURCE_DIR}/lck.c"
"${MDBX_SOURCE_DIR}/lck.h"
"${MDBX_SOURCE_DIR}/logging_and_debug.c"
"${MDBX_SOURCE_DIR}/logging_and_debug.h"
"${MDBX_SOURCE_DIR}/meta.c"
"${MDBX_SOURCE_DIR}/meta.h"
"${MDBX_SOURCE_DIR}/misc.c"
"${MDBX_SOURCE_DIR}/mvcc-readers.c"
"${MDBX_SOURCE_DIR}/node.c"
"${MDBX_SOURCE_DIR}/node.h"
"${MDBX_SOURCE_DIR}/options.h"
"${MDBX_SOURCE_DIR}/osal.c"
"${MDBX_SOURCE_DIR}/osal.h"
"${MDBX_SOURCE_DIR}/page-get.c"
"${MDBX_SOURCE_DIR}/page-iov.c"
"${MDBX_SOURCE_DIR}/page-iov.h"
"${MDBX_SOURCE_DIR}/page-ops.c"
"${MDBX_SOURCE_DIR}/page-ops.h"
"${MDBX_SOURCE_DIR}/page-search.c"
"${MDBX_SOURCE_DIR}/pnl.c"
"${MDBX_SOURCE_DIR}/pnl.h"
"${MDBX_SOURCE_DIR}/preface.h"
"${MDBX_SOURCE_DIR}/proto.h"
"${MDBX_SOURCE_DIR}/range-estimate.c"
"${MDBX_SOURCE_DIR}/refund.c"
"${MDBX_SOURCE_DIR}/sort.h"
"${MDBX_SOURCE_DIR}/spill.c"
"${MDBX_SOURCE_DIR}/spill.h"
"${MDBX_SOURCE_DIR}/subdb.c"
"${MDBX_SOURCE_DIR}/tls.c"
"${MDBX_SOURCE_DIR}/tls.h"
"${MDBX_SOURCE_DIR}/tree.c"
"${MDBX_SOURCE_DIR}/txl.c"
"${MDBX_SOURCE_DIR}/txl.h"
"${MDBX_SOURCE_DIR}/txn.c"
"${MDBX_SOURCE_DIR}/unaligned.h"
"${MDBX_SOURCE_DIR}/utils.c"
"${MDBX_SOURCE_DIR}/utils.h"
"${MDBX_SOURCE_DIR}/walk.c"
"${MDBX_SOURCE_DIR}/walk.h"
"${CMAKE_CURRENT_BINARY_DIR}/version.c"
"${MDBX_SOURCE_DIR}/options.h" "${MDBX_SOURCE_DIR}/base.h"
"${MDBX_SOURCE_DIR}/internals.h" "${MDBX_SOURCE_DIR}/osal.h"
"${MDBX_SOURCE_DIR}/core.c" "${MDBX_SOURCE_DIR}/osal.c"
"${MDBX_SOURCE_DIR}/lck-posix.c")
)
if(NOT MSVC)
list(APPEND LIBMDBX_SOURCES "${MDBX_SOURCE_DIR}/lck-posix.c")
endif()
if(NOT APPLE)
list(APPEND LIBMDBX_SOURCES "${MDBX_SOURCE_DIR}/lck-windows.c")
list(APPEND LIBMDBX_SOURCES
"${MDBX_SOURCE_DIR}/windows-import.h"
"${MDBX_SOURCE_DIR}/windows-import.c"
"${MDBX_SOURCE_DIR}/lck-windows.c"
)
endif()
include_directories("${MDBX_SOURCE_DIR}")
endif()
Expand Down Expand Up @@ -747,20 +912,23 @@ endif()

# build mdbx-tools
if(MDBX_BUILD_TOOLS)
if(NOT MDBX_AMALGAMATED_SOURCE AND ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
set(WINGETOPT_SRC ${MDBX_SOURCE_DIR}/wingetopt.c ${MDBX_SOURCE_DIR}/wingetopt.h)
else()
set(WINGETOPT_SRC "")
set(WINGETOPT_SRC "")
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
set(WINGETOPT_SRC ${MDBX_SOURCE_DIR}/tools/wingetopt.c ${MDBX_SOURCE_DIR}/tools/wingetopt.h)
endif()

foreach(TOOL mdbx_chk mdbx_copy mdbx_stat mdbx_dump mdbx_load mdbx_drop)
add_executable(${TOOL} mdbx.h ${MDBX_SOURCE_DIR}/${TOOL}.c ${WINGETOPT_SRC})
foreach(TOOL chk copy stat dump load drop)
if(MDBX_AMALGAMATED_SOURCE)
add_executable(mdbx_${TOOL} mdbx.h ${MDBX_SOURCE_DIR}/mdbx_${TOOL}.c)
else()
add_executable(mdbx_${TOOL} mdbx.h ${MDBX_SOURCE_DIR}/tools/${TOOL}.c ${WINGETOPT_SRC})
endif()
if(NOT C_FALLBACK_GNU11 AND NOT C_FALLBACK_11)
set_target_properties(${TOOL} PROPERTIES
set_target_properties(mdbx_${TOOL} PROPERTIES
C_STANDARD ${MDBX_C_STANDARD} C_STANDARD_REQUIRED ON)
endif()
target_setup_options(${TOOL})
target_link_libraries(${TOOL} ${TOOL_MDBX_LIB})
target_setup_options(mdbx_${TOOL})
target_link_libraries(mdbx_${TOOL} ${TOOL_MDBX_LIB})
endforeach()
if(LIB_MATH)
target_link_libraries(mdbx_chk ${LIB_MATH})
Expand Down
12 changes: 10 additions & 2 deletions mdbxdist/ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic

Новое:

- Изменение лицензии на Apache 2.0, пояснения и подробности в файле `COPYRIGHT`.

- Реструктуризация исходного кода с рефакторингом.

- Переработка курсоров для унификации поведения, более регулярного
кода, уменьшения количества ветвлений и машинных операций.

- Перенос функционала утилиты `mdbx_chk` внутрь библиотеки в виде
функции `mdbx_env_chk() `для проверка целостности структуры БД, в том
числе с вовлечением логики приложения.
Expand Down Expand Up @@ -66,9 +73,9 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic
интеграции с легковесными потоками/нитями их мультиплексирования вместе
с транзакциями по потокам операционной системы.

- TODO: Опция `MDBX_opt_prefer_waf_insteadof_balance`.
- Опция `MDBX_opt_prefer_waf_insteadof_balance`.

- TODO: Опции `MDBX_opt_subpage_limit`, `MDBX_opt_subpage_room_threshold`, `MDBX_opt_subpage_reserve_prereq`, `MDBX_opt_subpage_reserve_limit`.
- Опции `MDBX_opt_subpage_limit`, `MDBX_opt_subpage_room_threshold`, `MDBX_opt_subpage_reserve_prereq`, `MDBX_opt_subpage_reserve_limit`.

- Управление основной блокировкой lock/unlock/upgrade/downgrade для координации пишущих транзакций.

Expand Down Expand Up @@ -99,6 +106,7 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic
- Опция сборки `MDBX_USE_VALGRIND` заменена на общепринятую `ENABLE_MEMCHECK`.
- В структуре `MDBX_envinfo` серии полей вида `meta1`, `meta2` и `meta3` заменены на массивы вида `meta[3]`.
- В шаблонных классах и функциях С++ API по-умолчанию вместо `mdbx::legacy_buffer` использован тип `mdbx::default_buffer` использующий полиморфные аллокаторы С++ 17.
- Удаление `DEFAULT_MAPSIZE` и изменение геометрии по-умолчанию при создании БД.


## v0.13.0 от 2023-04-23
Expand Down
Loading

0 comments on commit e9a1e3f

Please sign in to comment.