แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™ DBMS libmdbx 0.13.2 แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แž”แŸ‹

แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™ libmdbx 0.13.2 (MDBX) แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž– แžŠแŸ„แž™แžขแž“แžปแžœแžแŸ’แžแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แžแž˜แŸ’แž›แŸƒแžŸแŸ„แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แž”แŸ‹แžŠแŸ‚แž›แž˜แžถแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžแŸ’แž–แžŸแŸ‹แŸ” แž›แŸแžแž€แžผแžŠ libmdbx แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸ‚แž€แž…แžถแž™แž€แŸ’แžšแŸ„แž˜แžขแžถแž‡แŸ’แž‰แžถแž”แŸแžŽแŸ’แžŽ Apache 2.0 แŸ” แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžš แž“แžทแž„แžŸแŸ’แžแžถแž”แžแŸ’แž™แž€แž˜แŸ’แž˜แž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž‘แžถแŸ†แž„แžขแžŸแŸ‹แžแŸ’แžšแžผแžœแž”แžถแž“แž‚แžถแŸ†แž‘แŸ’แžš แž€แŸแžŠแžผแž…แž‡แžถ Russian Elbrus 2000แŸ” libmdbx แž•แŸ’แžแž›แŸ‹แž“แžผแžœ API แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž—แžทแžœแžŒแŸ’แžแžŸแž˜แŸ’แžšแžถแž”แŸ‹ C++ แž€แŸแžŠแžผแž…แž‡แžถแž€แžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แžŠแŸ‚แž›แž‚แžถแŸ†แž‘แŸ’แžšแžŠแŸ„แž™แžขแŸ’แž“แž€แž…แžผแž›แž…แžทแžแŸ’แžแž‘แŸ…แž“แžนแž„แž—แžถแžŸแžถ Rust, Haskell, Python, NodeJS, Ruby, Go, Nim , Deno, Scala แŸ”

แž‡แžถแž”แŸ’แžšแžœแžแŸ’แžแžทแžŸแžถแžŸแŸ’แžแŸ’แžš libmdbx แž‚แžบแž‡แžถแžŠแŸ†แžŽแžพแžšแž€แžถแžšแžกแžพแž„แžœแžทแž‰แž™แŸ‰แžถแž„แžŸแŸŠแžธแž‡แž˜แŸ’แžšแŸ…แž“แŸƒ LMDB DBMS แž แžพแž™แž”แŸ’แžšแžŸแžพแžšแž‡แžถแž„แž”แžปแž–แŸ’แžœแž”แžปแžšแžŸแžšแž”แžŸแŸ‹แžแŸ’แž›แžฝแž“แž€แŸ’แž“แžปแž„แž—แžถแž–แž‡แžฟแž‡แžถแž€แŸ‹ แžŸแŸ†แžŽแžปแŸ†แž›แž€แŸ’แžแžŽแŸˆแž–แžทแžŸแŸแžŸ แž“แžทแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแŸ” แž”แžพแž”แŸ’แžšแŸ€แž”แž’แŸ€แž”แž‘แŸ…แž“แžนแž„ LMDB, libmdbx แž•แŸ’แžแŸ„แžแž›แžพแž‚แžปแžŽแž—แžถแž–แž€แžผแžŠ แžŸแŸ’แžแŸแžšแž—แžถแž– API แž€แžถแžšแž’แŸ’แžœแžพแžแŸแžŸแŸ’แž แž“แžทแž„แž€แžถแžšแžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™แžŠแŸ„แž™แžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžทแŸ” แžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž–แžทแž“แžทแžแŸ’แž™แž˜แžพแž›แž—แžถแž–แžŸแžปแž…แžšแžทแžแž“แŸƒแžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แžŠแŸ‚แž›แž˜แžถแž“แžŸแž˜แžแŸ’แžแž—แžถแž–แžŸแž„แŸ’แž‚แŸ’แžšแŸ„แŸ‡แž˜แžฝแž™แž…แŸ†แž“แžฝแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แž‚แžแŸ‹แž•แŸ’แž‚แž„แŸ‹แŸ” แžแžถแž˜แž”แž…แŸ’แž…แŸแž€แžœแžทแž‘แŸ’แž™แžถ libmdbx แž•แŸ’แžแž›แŸ‹แž“แžผแžœ ACID แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžŠแŸแžšแžนแž„แž˜แžถแŸ† serialization แž“แžทแž„แž€แžถแžšแžขแžถแž“แžŠแŸ‚แž›แž˜แžทแž“แž‘แž”แŸ‹แžŸแŸ’แž€แžถแžแŸ‹แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž’แŸ’แžœแžพแž˜แžถแžแŸ’แžšแžŠแŸ’แž‹แžถแž“แž›แžธแž“แŸแžขแŸŠแŸ‚แžšแž†แŸ’แž›แž„แž€แžถแžแŸ‹แžŸแŸ’แž“แžผแž›แžŸแŸŠแžธแž—แžธแž™แžผแŸ” แž€แžถแžšแž”แž„แŸ’แžšแžฝแž˜แžŠแŸ„แž™แžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžท แž€แžถแžšแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž‘แŸ†แž แŸ†แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แžŠแŸ„แž™แžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžท แž“แžทแž„แž€แžถแžšแž”แŸ‰แžถแž“แŸ‹แž”แŸ’แžšแž˜แžถแžŽแžŸแŸ†แžŽแžฝแžšแž‡แžฝแžšแžแŸ’แžšแžผแžœแž”แžถแž“แž‚แžถแŸ†แž‘แŸ’แžšแŸ”

แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžŸแŸ†แžแžถแž“แŸ‹แŸ—แŸ–

  • แž”แž„แŸ’แž€แžพแž“แž›แŸ’แž”แžฟแž“แž€แžถแžšแž’แŸ’แžœแžพแž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž—แžถแž– GC แž“แŸ…แž–แŸแž›แžแŸ’แžšแžกแž”แŸ‹/แžŠแžถแž€แŸ‹แž”แž‰แŸ’แž‡แžธแž‘แŸ†แž–แŸแžšแž“แŸ…แž€แŸ’แž“แžปแž„แžŸแŸแžŽแžถแžšแžธแž™แŸ‰แžผแžŸแŸ’แž˜แžปแž‚แžŸแŸ’แž˜แžถแž‰แŸ” แžšแž”แŸ€แž”แž€แŸ‚แžŸแŸ†แžšแžฝแž›แž€แžถแžšแžŸแžถแž€แž›แŸ’แž”แž„แžŠแŸ‚แž›แž”แžถแž“แž”แžทแž‘แž–แžธแž˜แžปแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž€แŸ‚แž›แž˜แŸ’แžข แž“แžทแž„แž’แŸ’แžœแžพแžฑแŸ’แž™แžŸแž€แž˜แŸ’แž˜แŸ” แž“แŸแŸ‡แž”แžถแž“แž’แŸ’แžœแžพแžฑแŸ’แž™แž”แŸ’แžšแžŸแžพแžšแžกแžพแž„แž‡แžถแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž“แŸƒแž€แžถแžšแž”แž‰แŸ’แž…แžผแž›แž‚แŸ’แž“แžถ (แž€แžถแžแŸ‹แž”แž“แŸ’แžแž™แž…แŸ†แž“แžฝแž“แž“แŸƒแž€แžถแžšแž–แŸ’แž™แžถแž™แžถแž˜แž˜แŸ’แžแž„แž‘แŸ€แž) แž แžพแž™แž€แŸแž”แžถแž“แž›แžปแž”แž”แŸ†แž”แžถแžแŸ‹แž–แžทแž€แžถแžšแž—แžถแž–แžŠแŸ‚แž›แž“แžถแŸ†แž‘แŸ…แžŠแž›แŸ‹ "แžšแž„แŸ’แžœแžทแž›แž‡แžปแŸ†" แž“แŸ…แž–แŸแž›แž’แŸ’แžœแžพแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžš (แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแžแŸ’แžšแžกแž”แŸ‹แž˜แž€แžœแžทแž‰แž“แŸƒแž€แŸ†แž แžปแžŸ MDBX_PROBLEM) แž“แŸ…แž€แŸ’แž“แžปแž„แž›แž€แŸ’แžแžแžŽแŸ’แžŒแž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹แžŠแŸแž€แž˜แŸ’แžšแŸ”
  • แžŸแŸ’แž‚แŸ’แžšแžธแž”แžŸแŸ’แžแžถแž”แž“แžถ CMake แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แžŸแŸ’แžแž„แŸ‹แžŠแžถแžš C23 แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜ T-macro แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž˜แžปแžแž„แžถแžš char/wchar_t แžŠแŸ‚แž›แž”แžถแž“แž•แŸ’แž‚แžผแž•แŸ’แž‚แž„แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžŸแžšแžŸแŸแžšแžŠแŸ‚แž›แž‡แžถแž”แŸ‹แž–แžถแž€แŸ‹แž–แŸแž“แŸ’แž’แž‘แŸ…แž“แžนแž„ C ++ API แŸ”
  • แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž‘แŸ…แž€แžถแžšแž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž–แž›แžพแž€แž‘แžธแž–แžธแžšแž“แŸƒแž€แžถแžšแž”แž‰แŸ’แž‡แžถแž€แŸ‹แž€แŸ†แžŽแŸ‚ semantic ("Semantic Versioning 2") แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แž…แž”แŸ‹ แž แžพแž™แž€แžถแžšแž“แžถแŸ†แž…แŸแž‰แž–แŸแžแŸŒแž˜แžถแž“แž€แŸ†แžŽแŸ‚แž‘แŸ… VERSION.json แžแŸ’แžšแžผแžœแž”แžถแž“แž’แžถแž“แžถแŸ”
  • แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แž„แŸ’แž€แžพแžแž—แžถแž–แžขแžถแž…แž•แž›แžทแžแžกแžพแž„แžœแžทแž‰แž”แžถแž“ แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แžšแžทแžŸแŸ’แžแžถแž“ SOURCE_DATE_EPOCH แžขแžแŸแžšแŸ” แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžš MDBX_BUILD_TIMESTAMP แžแŸ’แžšแžผแžœแž”แžถแž“แžšแž€แŸ’แžŸแžถแž‘แžปแž€ แž แžพแž™แžขแžแŸแžšแž“แŸแŸ‡แž˜แžถแž“แžขแžถแž‘แžทแž—แžถแž–แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แž‰แŸ’แž‡แžถแž€แŸ‹แž–แŸแžแŸŒแž˜แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แžขแŸ†แž–แžธแž€แžถแžšแž”แž„แŸ’แž€แžพแž libmdbx แžแžถแž˜แžšแž™แŸˆแž‡แž˜แŸ’แžšแžพแžŸ MDBX_BUILD_METADATA แŸ” แžฅแžกแžผแžœแž“แŸแŸ‡แž–แŸแžแŸŒแž˜แžถแž“แžŠแŸ‚แž›แž”แžถแž“แž”แž‰แŸ’แž‡แžถแž€แŸ‹แžแŸ’แžšแžผแžœแž”แžถแž“แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž™แŸ‰แžถแž„แžŸแžถแž˜แž‰แŸ’แž‰แž“แŸ…แžแžถแž„แž€แŸ’แž“แžปแž„แž”แžŽแŸ’แžŽแžถแž›แŸแž™แž‡แžถแžแž˜แŸ’แž›แŸƒ mdbx_build.metadata แž แžพแž™แž“แŸ…แž–แŸแž›แžขแž“แžถแž‚แž แžœแžถแž€แŸแž“แžนแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแž“แŸ…แž–แŸแž›แž”แž„แŸ’แž€แžพแžแž€แž‰แŸ’แž…แž”แŸ‹แž‡แžถแžŠแžพแž˜แŸ”
  • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž€แžแŸ‹แžแŸ’แžšแžถแž€แŸ†แž แžปแžŸแžŠแŸ‚แž›แž”แžถแž“แžแŸ’แžšแžกแž”แŸ‹แž–แžธ API แŸ” แžฅแžกแžผแžœแž“แŸแŸ‡ แžŠแžพแž˜แŸ’แž”แžธแž’แŸ’แžœแžพแžœแžถ แžœแžถแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแžถแž“แŸ‹แž€แŸ’แž“แžปแž„แž€แžถแžšแž€แŸ†แžŽแžแŸ‹แž€แž˜แŸ’แžšแžทแžแž“แŸƒแž€แžถแžšแž€แžแŸ‹แžแŸ’แžšแžถ MDBX_LOG_DEBUG (แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แŸ†แž แžปแžŸแž€แŸ’แž“แžปแž„แž€แžถแžšแž€แžแŸ‹แžแŸ’แžšแžถแžŠแž€ MDBX_NOTFOUND) แžฌ MDBX_LOG_TRACE (แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž€แžแŸ‹แžแŸ’แžšแžถแž€แŸ†แž แžปแžŸแž‘แžถแŸ†แž„แžขแžŸแŸ‹ แž€แŸแžŠแžผแž…แž‡แžถ MDBX_RESULT_TRUE)แŸ”
  • แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžขแžถแž€แž”แŸ’แž”แž€แžทแžšแžทแž™แžถแŸ–
    • แž”แžถแž“แž”แž“แŸ’แžแŸ‚แž˜ mdbx::cursor::get_multiple_samelength() method แž“แžทแž„แž”แŸ’แžแžผแžšแžˆแŸ’แž˜แŸ„แŸ‡ mdbx::txn::put_multiple_samelength()แŸ”
    • แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž—แžถแž–แžŸแŸŠแžธแžŸแž„แŸ’แžœแžถแž€แŸ‹แž‚แŸ’แž“แžถแž“แŸƒ C++ API แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžš MDBX_GET_MULTIPLE แžฅแžกแžผแžœแž“แŸแŸ‡แž€แŸแžแŸ’แžšแžกแž”แŸ‹แžแž˜แŸ’แž›แŸƒแž“แŸƒแžŸแŸ„แžแŸ’แž›แžฝแž“แžฏแž„แž•แž„แžŠแŸ‚แžšแŸ”
    • แžŸแž˜แŸ’แžšแžถแž”แŸ‹ mdbx::env::แž’แžšแžŽแžธแž˜แžถแžแŸ’แžš แž‘แŸ†แž แŸ†แžแŸแžš แž”แŸ’แžšแž—แŸแž‘แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž–แžธแž‘แŸ†แž แŸ†แžŠแŸ‚แž›แž˜แžทแž“แž…แžปแŸ‡แž แžแŸ’แžแž›แŸแžแžถแž‘แŸ… intptr_t แžŠแŸ‚แž›แž”แžถแž“แž…แžปแŸ‡แž แžแŸ’แžแž›แŸแžแžถแŸ”
    • แž‡แž˜แŸ’แžšแžพแžŸแžŠแžพแž˜แŸ’แž”แžธแž”แŸ’แžšแžพ ntdll แž‡แŸ†แž“แžฝแžŸแžฑแŸ’แž™ CRT แžฅแžกแžผแžœแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแžกแžพแž„แžแŸ‚แž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แž”แžทแž‘ C++ API แž™แŸ‰แžถแž„แž…แŸ’แž”แžถแžŸแŸ‹แŸ”
    • แž’แžถแž“แžถแžแžถแžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แž“แŸƒแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžขแžถแž“แžŠแŸ‚แž›แž”แžถแž“แž”แŸ„แŸ‡แž”แž„แŸ‹/แž›แžปแž”แž…แŸ„แž›แžŠแŸ‚แž›แž”แžถแž“แž”แž‰แŸ’แž‡แžผแž“แž‘แŸ… mdbx_txn_commit() แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแŸ„แŸ‡แž›แŸ‚แž„แŸ” แžขแž“แžปแžŸแž‰แŸ’แž‰แžถ API แžแž˜แŸ’แžšแžผแžœแžฑแŸ’แž™แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž”แŸ‚แž”แž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™แžŠแŸ„แž™แž”แŸ’แžšแžพ mdbx_txn_abort() แžŠแŸ‚แž›แž”แžŽแŸ’แžแžถแž›แžฑแŸ’แž™ mdbx_txn_commit() แžแŸ’แžšแžกแž”แŸ‹แž€แŸ†แž แžปแžŸแž“แŸ…แž€แŸ’แž“แžปแž„แž€แžšแžŽแžธแž”แŸ‚แž”แž“แŸแŸ‡แžŠแŸ„แž™แž˜แžทแž“แž”แŸ„แŸ‡แž”แž„แŸ‹แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžŠแŸ„แž™แžแŸ’แž›แžฝแž“แžฏแž„แŸ” แž“แŸแŸ‡แž”แžŽแŸ’แžแžถแž›แžฑแŸ’แž™แž˜แžถแž“แž€แžถแžšแž›แŸแž…แž’แŸ’แž›แžถแž™แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ†แžŠแŸ„แž™แžŸแžถแžšแžแŸ‚แž€แŸ†แž แžปแžŸแž“แŸ…แž€แŸ’แž“แžปแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธ แžŠแŸ‚แž›แž‡แŸ†แžšแžปแž‰แžฑแŸ’แž™แž˜แžถแž“แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžฅแžšแžทแž™แžถแž”แžแŸ”
    • แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž˜แŸ‰แžถแž€แŸ’แžšแžผ __deprecated_enum แž”แŸ’แžšแžŸแžทแž“แž”แžพแž”แžถแž“แž€แŸ†แžŽแžแŸ‹แŸ”
    • แž“แŸ…แž–แŸแž›แž”แž„แŸ’แž€แžพแžแž‡แžถแž˜แžฝแž™ CMake แžŸแŸ’แžแž„แŸ‹แžŠแžถแžšแž—แžถแžŸแžถ C แžฅแžกแžผแžœแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž‡แŸ’แžšแžพแžŸแžšแžพแžŸแžŠแŸ„แž™แž•แŸ’แžขแŸ‚แž€แž›แžพ CMAKE_C_STANDARD แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹