Navoaka ny famotsorana ny libmdbx 0.13.2 (MDBX), amin'ny fampiharana ny angon-drakitra manan-danja manan-danja voarakitra avo lenta. Ny kaody libmdbx dia zaraina eo ambanin'ny lisansa Apache 2.0. Ny rafitra miasa sy ny maritrano rehetra dia tohanana, ary koa ny Rosiana Elbrus 2000. libmdbx dia manolotra API novolavolaina ho an'ny C ++, ary koa ny fatorana tohanan'ny mpankafy amin'ny fiteny Rust, Haskell, Python, NodeJS, Ruby, Go, Nim , Deno, Scala.
Ara-tantara, ny libmdbx dia fanavaozana lalina ny LMDB DBMS ary ambony noho ny razambeny amin'ny fahamendrehana, ny endri-javatra ary ny fampisehoana. Raha ampitahaina amin'ny LMDB, ny libmdbx dia manome lanja be ny kalitaon'ny code, ny fahamarinan'ny API, ny fitsapana ary ny fisavana mandeha ho azy. Misy fitaovana iray hanamarinana ny fahamarinan'ny rafitry ny angon-drakitra miaraka amin'ny fahaiza-manao fanarenana sasany. Ny teknolojia, libmdbx dia manolotra ACID, serialization mahery vaika, ary famakiana tsy manakana miaraka amin'ny scaling linear manerana ny cores CPU. Fanamafisana mandeha ho azy, fitantanana ny haben'ny angon-drakitra mandeha ho azy, ary tombantomban'ny antontan'isa.
Fiovana lehibe:
- Manafaingana ny fanavaozana GC rehefa miverina/mametraka lisitry ny pejy amin'ny toe-javatra sarotra. Nohatsaraina sy navitrika ny fomba fanehoan-kevitra fanitsiana andrana efa nokilema teo aloha. Nihatsara ifotony io convergence io (nihena ny isan'ny retry), ary koa nanafoana ny lesoka izay nitarika ho amin'ny "looping" rehefa manao raharaham-barotra (miaraka amin'ny fiverenan'ny MDBX_PROBLEM fahadisoana) amin'ny toe-javatra manokana tsy fahita firy.
- Ny script fananganana CMake dia misy ny fenitra C23.
- Nampiana T-macros ho an'ny fiasa char/wchar_t.
- Fanampiana fanampiny ho an'ny fifampiraharahana fanoratana amin'ny C++ API.
- Efa vita ny fifindrana mankany amin'ny andiany faharoa amin'ny fanondroana dikan-teny semantika ("Semantic Versioning 2") ary azo antoka ny fanondranana fampahalalana momba ny dikan-teny amin'ny VERSION.json.
- Mba hanamafisana ny fanamboarana, dia ampiana fanohanana ny fari-piainana SOURCE_DATE_EPOCH. Ny fanohanana MDBX_BUILD_TIMESTAMP dia tazonina ary io fari-pahalalana io no atao laharam-pahamehana.
- Nampiana ny fahafahana mamaritra fampahalalana fanampiny momba ny fananganana libmdbx amin'ny alàlan'ny safidy MDBX_BUILD_METADATA. Amin'izao fotoana izao dia ampidirina ao anaty tranomboky fotsiny ny fampahalalana voatondro ho sanda mdbx_build.metadata, ary amin'ny ho avy dia hampiasaina amin'ny famoronana fonosana, sns.
- Nampiana firaketana ny lesoka naverina avy amin'ny API. Mba hanaovana izany, dia ampy ny mametraka ny haavon'ny logging MDBX_LOG_DEBUG (ho an'ny lesoka amin'ny log minus MDBX_NOTFOUND) na MDBX_LOG_TRACE (ho an'ny fidirana ny lesoka rehetra, ary koa ny MDBX_RESULT_TRUE).
- Fiovana amin'ny fitondrantena:
- Nampiana fomba mdbx::cursor::get_multiple_samelength() ary nomena anarana hoe mdbx::txn::put_multiple_samelength().
- Ho an'ny tsy fitoviana C++ API, ny fiasan'ny MDBX_GET_MULTIPLE izao dia mamerina ny sandan'ny fanalahidy ihany koa.
- Ho an'ny mdbx::env::geometry habe constants, ny karazana fototra dia niova avy amin'ny size_t tsy misy sonia ho intptr_t voasonia.
- Ny safidy hampiasa ny ntdll fa tsy ny CRT dia natao fotsiny rehefa manafoana ny C++ API.
- Miantoka fa ny fitadidiana ny fifampiraharahana najanona/najanona tamin'ny famakiana nampitaina tamin'ny mdbx_txn_commit() dia afaka. Ny fivoriamben'ny API dia mitaky ny hamoahana ny fifampiraharahana toy izany amin'ny fampiasana mdbx_txn_abort(), izay mahatonga ny mdbx_txn_commit() hamerina fahadisoana amin'ny tranga toy izany nefa tsy manafoana ny fifampiraharahana. Niteraka fahatapahan'ny fitadidiana izany noho ny bibikely amin'ny rindranasa, ka nahatonga ny fiovan'ny fitondran-tena.
- Mampiasa ny __deprecated_enum macro raha voafaritra.
- Rehefa manangana amin'ny CMake, ny fenitry ny fiteny C dia voafantina mifototra amin'ny CMAKE_C_STANDARD.
Source: opennet.ru
