Bibliotheca libmdbx 0.13.7 (MDBX) bibliotheca dimissa est, alta perficiendi, pacta, inclusa datorum clavorum valoris. Codex libmdbx sub Apache 2.0 Licentiatus distributus est. Omnia systemata operativa et architecturae venae sustentantur, necnon Elbrus Russorum 2000. Pro libmdbx, API pro C++ offertur, ligamenta linguarum Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala. Incepta quae usum libmdbx includunt Isar, Erigon et Reth, nec non explicationes per StarkWare et Technologias positivae.
Historice, libmdbx alta est renovatio LMDB DBMS et suum antecessorem excedit in fide, pluma statuto et effectu. Comparatus cum LMDB, libmdbx locat multum emphasin in codice qualitatis, API stabilitas, probatio, et compescit automated. Utilitas ad reprimendam integritatem datorum structuram cum aliquibus facultatibus recuperandis suppletur. Technologice, libmdbx praebet ACID, validam serializationem mutationum, et non-obstructio lineari trans CPU nucleos scandens legit. Auto-compaction, amplitudo datorum autocinetorum administratio et aestimatio quaesita eminus sustinentur.
Major changes:
- Correctus est error gravis in functione `mdbx_env_resurrect_after_fork()` cum semaphora SysV adhiberentur. Error apparebat tantum post generationem processus filii per `fork()` in contextu transactionis scripturae continuae, quae ad operationem semaphororum incorrectam et deinde ad varia errata, inter quae corruptio basis datorum, duxit. Problema ab adventu `mdbx_env_resurrect_after_fork()` exsistebat et macOS affecit, necnon suggesta POSIX cum optione `MDBX_LOCKING=5` aedificabantur.
- Emendatum est problema in API Copiae DB quod in systematibus POSIX non-Linux (plerumque macOS) oriebatur, et interdum cum fasciculus destinatus in systemate fasciculorum non locali collocatus erat. Problema ad reditum erroris EWOULDBLOCK/EAGAIN duxit, qui a vitio/conflictu in clausuris fcntl(F_SETLK) et flock() in nucleo systematis operativi causatus erat. Tractatio errorum acquisitionis clausurarum fasciculorum in API Copiae in systematibus POSIX retractata est.
- Correctus est error qui reditum inexpectatum functionis MDBX_BAD_DBI faciebat cum plures transactiones simul intra unum processum post aperturam basis datorum inciperent.
- Correctus est error qui efficiebat ut MDBX_DBS_FULL inopinate redderetur cum tabulae iam apertae denuo aperirentur et finis handle DBI aperti iam perventus esset.
- Correctus error constructionis pro suggestu Android cum _FILE_OFFSET_BITS explicite definitum est.
- Correctus est error qui ENOMEM loco MDBX_ENOMEM adhibebatur. Quod, secundum configurationem et/vel versionem SDK, structuram in systematibus non-POSIX/Windows perturbare poterat.
- Complures assertiones falsas quae cladem structurarum debug in certis condicionibus, praesertim in codice functionum txn_end(), txn_lock(), et txn_unlock() tam in Windows quam in POSIX, vel correctae vel remotae sunt.
- Monita MSVC minora correcta. Monita C5286 et C5287 inactiva.
- Ratio recusandi clavium OFD in suggestis POSIX emendata est. Nunc, praeter EINVAL, aliae inscriptiones errorum considerantur (ENOSYS, ENOIMPL, ENOTSUP, ENOSUPP, EOPNOTSUPP), quae bibliothecae compilatae permittent operari in quibusdam casibus cum nucleus/continens/aemulator praesens invocationes systematis necessarias non sustinet.
- Systema probationum nunc optionem `--numa` sustinet. » ut probationem stochasticam nodo NUMA coniungas. Distributio explicita per nodos NUMA scripto "battery/tmux" addita est, quae efficaciam in probationibus in machinis NUMA significanter auxit.
- Scriptum stochasticum ordinem fortuitum implementat quo singulae probationes currunt.
Source: opennet.ru
