pijul nest
guest [sign in]

Deletions at immutable leaves weren't really deleting anything

[?]
Feb 10, 2021, 9:24 PM
MSRWB47YP6L5BVTS53QQPBOHY5SXTSTR5KD6IIF35UWCTEUOCQWQC

Dependencies

Change contents

  • edit in sanakirja-core/src/btree/page_unsized.rs at line 177
    [2.1097]
    [4.7854]
    let (_, s1) = s1.split_at(1);
  • edit in sanakirja-core/src/btree/page_unsized.rs at line 184
    [2.1161]
    [4.8202]
    let (_, s1) = s1.split_at(1);
  • edit in sanakirja-core/src/btree/page.rs at line 192
    [2.5570]
    [5.14932]
    let (_, s1) = s1.split_at(1);
  • edit in sanakirja-core/src/btree/page.rs at line 199
    [2.5634]
    [5.15312]
    let (_, s1) = s1.split_at(1);
  • edit in sanakirja/src/tests.rs at line 155
    [7.9807]
    [7.9941]
    }
    #[test]
    pub fn del_leaf() {
    env_logger::try_init().unwrap_or(());
    let env = Env::new_anon(409600000, 1).unwrap();
    let mut txn = Env::mut_txn_begin(&env).unwrap();
    let mut db: Db<u64, u64> = create_db(&mut txn).unwrap();
    let n = 20 as u64;
    let i0 = 10 as u64;
    let mut values = Vec::with_capacity(n as usize);
    for i in 0..n {
    put(&mut txn, &mut db, &i, &i).unwrap();
    if i != i0 {
    values.push(i);
    }
    }
    let db2 = fork_db(&mut txn, &db).unwrap();
    del(&mut txn, &mut db, &i0, None).unwrap();
    assert_eq!(
    btree::iter(&txn, &db, None)
    .unwrap()
    .map(|kv| *kv.unwrap().0)
    .collect::<Vec<_>>(),
    values
    );