Correct ordering of pages in libpijul::tag::copy
Dependencies
- [2]
QL6K2ZM3Tags - [3]
A3RM526YIntegrating identity malleability - [4]
5OGOE4VWStore the current channel in the pristine - [5]
VJL7SCH2Fixing tags with the new sanakirja_core
Change contents
- replacement in libpijul/src/tag.rs at line 295
P::set_left_child(&mut new_page_,&new_curs,P::left_child(page.as_page(), &curs),);let left = P::left_child(page.as_page(), &curs);if left != 0 {assert!(dict.insert(left));let new_page = txn.txn.alloc_page()?;let off = new_page.0.offset;P::set_left_child(&mut new_page_,&new_curs,off,);pending.push((left, new_page));} - replacement in libpijul/src/tag.rs at line 308
while let Some((k, v, r)) = P::next(&txn.txn, page.as_page(), &mut curs) {let (k, v) = f(file_txn, txn, k, v)?;while let Some((k_, v_, r)) = P::next(&txn.txn, page.as_page(), &mut curs) {let (k, v) = f(file_txn, txn, k_, v_)?;assert_eq!(&k, k_);assert_eq!(&v, v_); - replacement in libpijul/src/tag.rs at line 501
pending: u64,pending_: u64, - replacement in libpijul/src/tag.rs at line 508
let mut pending = vec![(pending, *new_page)];let mut pending = std::collections::VecDeque::new();pending.push_back((pending_, *new_page)); - replacement in libpijul/src/tag.rs at line 511
while let Some((old_page_off, new_page_)) = pending.pop() {while let Some((old_page_off, new_page_)) = pending.pop_front() { - replacement in libpijul/src/tag.rs at line 522
P::set_left_child(&mut new_page_,&new_curs,P::left_child(page.as_page(), &curs),);let left = P::left_child(page.as_page(), &curs);if left != 0 {let new = *new_page;*new_page += BLOCK_SIZE as u64;P::set_left_child(&mut new_page_,&new_curs,new,);pending.push_back((left, new));} - replacement in libpijul/src/tag.rs at line 539
pending.push((r, new));pending.push_back((r, new));