pijul nest
guest [sign in]

Version bump (self and memmap2)

pmeunier
Oct 13, 2024, 9:09 AM
QKL5HDU2UMPIKJKO4SAB4M4W43RYVCGAGEIUMT4FQQAJFH6QNFSAC

Dependencies

  • [2] KNHKJ4NM Version bump
  • [3] G4JEQLLX Debugging synchronisation
  • [4] XEU2QVLC Debugging after plugging this into Pijul
  • [5] YXKP4AIW New file locks, with multiple sets of free pages
  • [6] BPR2HVMR Version bump
  • [7] E4MD6T3L Proofreading and commenting of this crate (massive bug fixes included)
  • [8] XOXTGNPZ Adding a contiguous memory allocator (for large blocks)
  • [9] WTXLZDYI Fixing bus errors on a full disk
  • [10] OHUZ73MK Versions
  • [11] YWFYZNLZ Cleanup + inter-process concurrency
  • [12] P5NWMJ2H Version bump
  • [13] OHG5NX6K Refactoring, drop and the Check trait
  • [14] FMN7X4J2 Micro-improvements, now noticeably faster than std::collections::BTreeMap
  • [15] DASFQGOR Debugging
  • [16] T7QB6QEP Adding debug.rs
  • [17] HMWFIUDS Support for large values + endianness bugs
  • [18] 3CKCVBXT A few optional storable types
  • [19] OP6SVMOD Resetting history
  • [20] FQ567GAX Version bumps
  • [21] 2ZRCQBXP Version bump
  • [22] C36737FJ Arbitrary byte strings, and version 1.3.1
  • [23] PRDUE4YA Cleanup + published on crates.io
  • [24] 5LSYTRQ6 More docs, example, and fixing the free page diagnostic function for mutable transactions
  • [25] TJ2R4HAZ Accessing the root pages (unsafely, of course)
  • [26] FZBLNBGN Diagnostic tools (add_refs, check_free) + cleanup
  • [27] VRAQTH26 Fixing two crashes on corrupted files
  • [28] M6PHQUGL fallocate only when necessary
  • [29] W2MIZD5B Single file databases + CRC for the root pages (checking the other pages makes everything very slow)
  • [30] RLVQDUPY Fixing a double-free error introduced in 1.2.13
  • [31] IIIOKJTE Version bump
  • [32] 4Z4GEJTF Version bump

Change contents

  • replacement in sanakirja/src/environment/muttxn.rs at line 805
    [3.21464][3.21464:21558]()
    fn root_db<K: Storable + ?Sized, V: Storable + ?Sized, P: crate::btree::BTreePage<K, V>>(
    [3.21464]
    [3.21558]
    fn root_db<K: Storable + ?Sized, V: Storable + ?Sized, P: btree::BTreePage<K, V>>(
  • replacement in sanakirja/src/environment/muttxn.rs at line 808
    [3.21591][3.21591:21646]()
    ) -> Option<sanakirja_core::btree::Db_<K, V, P>> {
    [3.21591]
    [3.21646]
    ) -> Option<btree::Db_<K, V, P>> {
  • replacement in sanakirja/src/environment/muttxn.rs at line 810
    [3.21687][3.107226:107297]()
    Some(unsafe { sanakirja_core::btree::Db_::from_page(db) })
    [3.21687]
    [3.21747]
    Some(unsafe { btree::Db_::from_page(db) })
  • replacement in sanakirja/src/environment/mod.rs at line 32
    [3.92070][3.92070:92097]()
    mmap: memmap::MmapMut,
    [3.92008]
    [3.92097]
    mmap: memmap2::MmapMut,
  • replacement in sanakirja/src/environment/mod.rs at line 144
    [3.95929][3.95929:95982]()
    let mmap = memmap::MmapMut::map_mut(&file)?;
    [3.95929]
    [3.23726]
    let mmap = memmap2::MmapMut::map_mut(&file)?;
  • replacement in sanakirja/src/environment/mod.rs at line 154
    [3.96264][3.96264:96299]()
    mut mmap: memmap::MmapMut,
    [3.96264]
    [3.96299]
    mut mmap: memmap2::MmapMut,
  • replacement in sanakirja/src/environment/mod.rs at line 281
    [3.4297][3.102110:102174](),[3.6048][3.102110:102174](),[3.13560][3.102110:102174](),[3.102110][3.102110:102174]()
    let mmap = memmap::MmapMut::map_anon(length as usize)?;
    [3.13560]
    [3.26075]
    let mmap = memmap2::MmapMut::map_anon(length as usize)?;
  • replacement in sanakirja/src/environment/mod.rs at line 323
    [3.5504][3.5504:5547]()
    memmap::MmapOptions::new()
    [3.5504]
    [3.5547]
    memmap2::MmapOptions::new()
  • replacement in sanakirja/src/environment/mod.rs at line 326
    [3.5625][3.5625:5662]()
    .map_mut(&file)?
    [3.5625]
    [3.5662]
    .map_mut(file)?
  • replacement in sanakirja/src/environment/mod.rs at line 334
    [3.103750][3.103750:103822]()
    let mut mmap = memmap::MmapMut::map_anon(length as usize)?;
    [3.103750]
    [3.103822]
    let mut mmap = memmap2::MmapMut::map_anon(length as usize)?;
  • replacement in sanakirja/src/debug.rs at line 207
    [3.12484][3.108628:108665]()
    type B = btree::page::Page<L64, ()>;
    [3.12484]
    [3.2109]
    type B = page::Page<L64, ()>;
  • replacement in sanakirja/src/debug.rs at line 215
    [3.108781][3.2313:2405](),[3.2313][3.2313:2405]()
    let mut curs: Cursor<_, _, B> = btree::cursor::Cursor::new(txn, &db_free).unwrap();
    [3.108781]
    [3.2405]
    let mut curs: Cursor<_, _, B> = Cursor::new(txn, &db_free).unwrap();
  • replacement in sanakirja/src/debug.rs at line 302
    [3.5761][3.109148:109234]()
    let free_db: Db<L64, ()> = btree::Db::from_page(u64::from_le(p.free_db));
    [3.5761]
    [3.12485]
    let free_db: Db<L64, ()> = Db::from_page(u64::from_le(p.free_db));
  • replacement in sanakirja/src/debug.rs at line 307
    [3.5973][3.109235:109317]()
    let rc_db: Db<L64, ()> = btree::Db::from_page(u64::from_le(p.rc_db));
    [3.5973]
    [3.12529]
    let rc_db: Db<L64, ()> = Db::from_page(u64::from_le(p.rc_db));
  • replacement in sanakirja/src/debug.rs at line 320
    [3.1817][3.109318:109396]()
    let free_db: Db<L64, ()> = unsafe { btree::Db::from_page(txn.free) };
    [3.1817]
    [3.12571]
    let free_db: Db<L64, ()> = unsafe { Db::from_page(txn.free) };
  • replacement in sanakirja/Cargo.toml at line 3
    [3.108441][2.0:18]()
    version = "1.4.0"
    [3.108441]
    [3.108459]
    version = "1.4.3"
  • replacement in sanakirja/Cargo.toml at line 23
    [3.7059][3.5484:5511](),[3.5484][3.5484:5511]()
    mmap = [ "memmap", "fs2" ]
    [3.7059]
    [3.651]
    mmap = [ "memmap2", "fs2" ]
  • replacement in sanakirja/Cargo.toml at line 32
    [3.84][3.109416:109483](),[3.84][3.5528:5574](),[3.105][3.5528:5574](),[3.107][3.5528:5574](),[3.107][3.5528:5574](),[3.155][3.5528:5574](),[3.457][3.5528:5574](),[3.1048][3.5528:5574](),[3.1384][3.5528:5574](),[3.4033][3.5528:5574](),[3.4522][3.5528:5574](),[3.5281][3.5528:5574](),[3.20873][3.5528:5574](),[3.31706][3.5528:5574](),[3.109483][3.5528:5574](),[3.5528][3.5528:5574]()
    sanakirja-core = { path = "../sanakirja-core", version = "1.4.0" }
    memmap = { version = "0.7", optional = true }
    [3.84]
    [3.5574]
    sanakirja-core = { path = "../sanakirja-core", version = "1.4.1" }
    memmap2 = { version = "0.9", optional = true }
  • replacement in Cargo.toml at line 7
    [3.109594][3.109594:109690]()
    "sanakirja-core:1.4.0" = { path = "sanakirja-core" }
    "sanakirja:1.4.0" = { path = "sanakirja" }
    [3.109594]
    "sanakirja-core:1.4.1" = { path = "sanakirja-core" }
    "sanakirja:1.4.3" = { path = "sanakirja" }